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