这基本上是一个简单的问题,但我找不到它的查询函数。
示例集合:
{
_id: 1,
foo: [
{ bar: 9 },
{ bar: 16 }
]
}
{
_id: 2,
foo: [
{ bar: 9 },
{ bar: 9 },
{ bar: 9 }
]
}
示例输出:
{
_id: 2,
foo: [
{ bar: 9 },
{ bar: 9 },
{ bar: 9 }
]
}
因为这是唯一一个每个 foo.bar = 9 的文档。
我正在寻找的查询:
“查找本文档中每个 foo.bar 且 foo.bar = 9 的所有文档。”
或者我是否需要类似“查找所有不存在的文档(foo.bar!= 9)”?
提前谢谢您!
最佳答案
db.c.find({
"foo.bar" : {
$exists : true
},
"foo" : {
$not : {
$elemMatch : {
"bar" : {
$ne : 9
}
}
}
}
});
关于mongodb - 查找数组中所有元素都具有特定值的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26392534/