我想查询一个子文档,其中结果必须指定所有字段并且没有其他。这可能吗?如果是这样的话?
例如:
我想要这样的查询:
db.users.find({
"pref.no_popup": true,
"pref.font_large": false,
"pref": { "$size", 2 }});
要匹配这个:
{
"user": "Ed",
"pref": {
"no_popup": true,
"font_large": false
}
}
但不是这个:
{
"user": "James",
"pref": {
"no_popup": true,
"font_large": false,
"font_red": true
}
}
我意识到 $size运算符是为数组设计的,那么我该如何为子文档做类似的事情呢?
请注意,我确实尝试不使用点符号来查询确切的字段存在,但后来我遇到了排序问题。
最佳答案
存在这种“子文档完全匹配”的情况。 Here , 在页面中搜索引用的文本。
我认为您的查询应该是:
db.users.find({
"pref" : {
"no_popup" : true,
"font_large" : false
} });
关于mongodb - 在我的 MongoDB 子文档中查找具有一定数量字段的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21992131/