遵循 MongoDB 文档示例似乎是错误的。
有什么建议吗?
a== 1 和 a >5 永远不会匹配任何文档。
db.foo.find( { $and: [ { a: 1 }, { a: { $gt: 5 } } ] } )
在上面的示例文档中,元素 a 的值 a 等于 1 且 a 值大于 5 将被返回
遵循 MongoDB 文档示例似乎是错误的。
有什么建议吗?
a== 1 和 a >5 永远不会匹配任何文档。
db.foo.find( { $and: [ { a: 1 }, { a: { $gt: 5 } } ] } )
在上面的示例文档中,元素 a 的值 a 等于 1 且 a 值大于 5 将被返回
您在示例中缺少导入行:
db.foo.insert( { a: [ 1, 10 ] } )
db.foo.find( { $and: [ { a: 1 }, { a: { $gt: 5 } } ] } )
插入将为您提供如下所示的记录:
{"a" : [1, 10] ,
"_id" : "497ce4051ca9ca6d3efca323"}
因此,查找将返回 a == 1 且 a 的值也大于 5 的任何结果。在这种情况下,a 可以是两个值:http ://www.mongodb.org/display/DOCS/Multikeys
a 是 1,同时是 10。这就是为什么这个查询会返回这个结果。