在MongoDB中查找数组不包含具有特定字段值的文档的文档?
您可以为此使用$nin运算符。为了理解这个概念,让我们用文档创建一个集合。使用文档创建集合的查询如下-
> db.documentWithAParticularFieldValueDemo.insertOne(
... {
...
... "StudentId" : 101,
... "StudentDetails" :
... [
... {
... "TheoryMarks": 78,
... "PracticalMarks": 91
... },
... {
... "TheoryMarks": 75,
... "PracticalMarks": 75
... }
... ]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8edab72f684a30fbdfd586")
}
> db.documentWithAParticularFieldValueDemo.insertOne(
...
... { "StudentId" : 102,
... "StudentDetails" : [
... {
... "TheoryMarks": 91,
... "PracticalMarks": 91
... },
... {
... "TheoryMarks": 75,
... "PracticalMarks": 75
... }
... ]
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8edaf12f684a30fbdfd587")
}在find()method的帮助下显示集合中的所有文档。查询如下-
> db.documentWithAParticularFieldValueDemo.find().pretty();
以下是输出-
{
"_id" : ObjectId("5c8edab72f684a30fbdfd586"),
"StudentId" : 101,
"StudentDetails" : [
{
"TheoryMarks" : 78,
"PracticalMarks" : 91
},
{
"TheoryMarks" : 75,
"PracticalMarks" : 75
}
]
}
{
"_id" : ObjectId("5c8edaf12f684a30fbdfd587"),
"StudentId" : 102,
"StudentDetails" : [
{
"TheoryMarks" : 91,
"PracticalMarks" : 91
},
{
"TheoryMarks" : 75,
"PracticalMarks" : 75
}
]
}这是查找具有数组的文档的查询,该数组不包含MongoDB中具有特定字段值的文档-
> db.documentWithAParticularFieldValueDemo.find({'StudentDetails.TheoryMarks': {$nin: [78]}}).pretty();以下是输出-
{
"_id" : ObjectId("5c8edaf12f684a30fbdfd587"),
"StudentId" : 102,
"StudentDetails" : [
{
"TheoryMarks" : 91,
"PracticalMarks" : 91
},
{
"TheoryMarks" : 75,
"PracticalMarks" : 75
}
]
}热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语