我有一些结构如下的测试文档:
{
"foo" : {
"bar" : [
{
"a" : [
"1",
"4"
]
},
{
"a" : [
"1",
"7"
]
}
]
}
}
现在我尝试获取所有这些文档,其中至少一个“a”数组包含字符串“1”、“4”和“7”。(注意:我知道应该找不到这个示例文档!)
现在我像这样查询数据库:
db.test.find({"foo.bar.a": {$all: ["1","4","7"]}})
在我看来,它应该告诉我没有找到文档,但它找到了示例文档,因为“1”和“4”包含在第一个“a”数组中,“7”包含在第二个“a”数组中.
这是 $all 运算符的错误,还是我的查询错误?