gpt4 book ai didi

mongodb - 删除 MongoDB 中的空文档

转载 作者:可可西里 更新时间:2023-11-01 10:42:12 25 4
gpt4 key购买 nike

我想删除 MongoDB 中的空文档。MongoDB 的查询应该是什么样子的。我只想过滤掉并非每个字段都为空的文档。我只想删除那些所有字段都为 Null 的

案例:

/* 1 */
{
"_id" : ObjectId("57601e880855160fbb496f50"),
"instemail" : [],
"instProjekt1name" : [],
"inststrasse" : [],
"institutionID" : [],
"insttelefax" : [],
"insttelefon" : [],
"institutionsname" : [],
"instplz" : [],
"insturl" : [],
"instLand" : []
}

/* 2 */
{
"_id" : ObjectId("57601e880855160fbb496f51"),
"instemail" : [],
"instProjekt1name" : [],
"inststrasse" : [],
"institutionID" : [],
"insttelefax" : [],
"insttelefon" : [],
"institutionsname" : [],
"instplz" : [],
"insturl" : [],
"instLand" : []
}

/* 3 */
{
"_id" : ObjectId("57601e880855160fbb496f52"),
"instemail" : [
"postmaster@dfg.de"
],
"instProjekt1name" : [
"\n\t ERA-Chemistry: Novel Pt-poor catalysts for the electrocatalytic O2 reduction based on modified, nanostructured metal oxides\n\t ",
"\n\t \"Welten\" von Mittelschichtangehörigen in zwei Satellitenstädten JABOTABEKs (Indonesien)\n\t ",
"\n\t Rätselspiele. Edition und Kommentar\n\t ",
"\n\t Analysis of the function of Presenilin in Development and Neurodegeneration in Drosophila melanogaster\n\t ",
"\n\t Estimating selection parameters and identifying loci under recent selection based on genome-wide sequence data\n\t ",
"\n\t Untersuchung polymerischer Stabilsation in kolloidalen Systemen unter Verwendung neuartiger feldtheoretischer Simulationen\n\t ",
"\n\t Entwicklung hämatopoietischer Stammzellen aus humanen ES- und iPS-Zellen\n\t ",
"\n\t Untersuchung polymerischer Stabilisation in kolloidalen Systemen unter Verwendung neuartiger feldtheoretischer Simulationen\n\t "
],
"inststrasse" : [
"\r\n\t \t \t Kennedyallee",
"40"
],
"institutionID" : [
"5000"
],
"insttelefax" : [
"+49 228 8852777"
],
"insttelefon" : [
"+49 228 8851"
],
"institutionsname" : [
"Deutsche Forschungsgemeinschaft"
],
"instplz" : [
"53175",
"Bonn"
],
"insturl" : [
"http://www.dfg.de"
],
"instLand" : [
"\r\n\t \t Deutschland\r\n\t \t "
]
}

预期:

/* 3 */
{
"_id" : ObjectId("57601e880855160fbb496f52"),
"instemail" : [
"postmaster@dfg.de"
],
"instProjekt1name" : [
"\n\t ERA-Chemistry: Novel Pt-poor catalysts for the electrocatalytic O2 reduction based on modified, nanostructured metal oxides\n\t ",
"\n\t \"Welten\" von Mittelschichtangehörigen in zwei Satellitenstädten JABOTABEKs (Indonesien)\n\t ",
"\n\t Rätselspiele. Edition und Kommentar\n\t ",
"\n\t Analysis of the function of Presenilin in Development and Neurodegeneration in Drosophila melanogaster\n\t ",
"\n\t Estimating selection parameters and identifying loci under recent selection based on genome-wide sequence data\n\t ",
"\n\t Untersuchung polymerischer Stabilsation in kolloidalen Systemen unter Verwendung neuartiger feldtheoretischer Simulationen\n\t ",
"\n\t Entwicklung hämatopoietischer Stammzellen aus humanen ES- und iPS-Zellen\n\t ",
"\n\t Untersuchung polymerischer Stabilisation in kolloidalen Systemen unter Verwendung neuartiger feldtheoretischer Simulationen\n\t "
],
"inststrasse" : [
"\r\n\t \t \t Kennedyallee",
"40"
],
"institutionID" : [
"5000"
],
"insttelefax" : [
"+49 228 8852777"
],
"insttelefon" : [
"+49 228 8851"
],
"institutionsname" : [
"Deutsche Forschungsgemeinschaft"
],
"instplz" : [
"53175",
"Bonn"
],
"insturl" : [
"http://www.dfg.de"
],
"instLand" : [
"\r\n\t \t Deutschland\r\n\t \t "
]
}

声明必须是什么样子的?谁能帮帮我?

最佳答案

我认为您应该在 exist=false 的字段上使用 $exists 进行调度和查询。

db.collection.find({ field1: { $exists: false},field2: { $exists: false}...})

https://docs.mongodb.com/manual/reference/operator/query/exists/

或者借助$in

{$in: [ [{}], [{}, {}] ] }

https://docs.mongodb.com/manual/reference/operator/query/in/

看看这个link

关于mongodb - 删除 MongoDB 中的空文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37819430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com