0

遵循 MongoDB 文档示例似乎是错误的。

有什么建议吗?

a== 1 和 a >5 永远不会匹配任何文档。

关联

db.foo.find( { $and: [ { a: 1 }, { a: { $gt: 5 } } ] } )

在上面的示例文档中,元素 a 的值 a 等于 1 且 a 值大于 5 将被返回

4

1 回答 1

2

您在示例中缺少导入行:

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。这就是为什么这个查询会返回这个结果。

于 2012-03-28T18:31:05.567 回答