我有三个文件:
{ "_id" : ObjectId("5265da546efdfb25e06ea009"), "a" : 1, "b" : 1 }
{ "_id" : ObjectId("5265daadc01c42c8f4974711"), "a" : 2, "b" : 2 }
{ "_id" : ObjectId("5265dab3c01c42c8f4974712"), "a" : 3, "b" : 3 }
我正在尝试查找所有文档,其中 a 和 be 有一些给定的值..
e.g. FIND all documents
WHERE
a=123 and b=456
OR a=789 and b=888
我已经尝试过了,但这不起作用:
db.test.find({$in:[{"a":2,"b":2},{"a":1,"b":2}]})
很可能这种语法是错误的,因为我在这里没有提到任何字段。
如何使用 $in 来查询所有这些文档?
如果 a 和 b 包含在另一个字段中,这将是一个简单的问题,例如:
{ "_id" : ObjectId("5265dbfcc01c42c8f4974713"), "t" : { "a" : 2, "b" : 2 } }
{ "_id" : ObjectId("5265dc02c01c42c8f4974714"), "t" : { "a" : 1, "b" : 1 } }
{ "_id" : ObjectId("5265dc07c01c42c8f4974715"), "t" : { "a" : 3, "b" : 3 } }
db.test.find({t:{$in:[{"a":1,"b":1},{"a":2,"b":2}]}});
{ "_id" : ObjectId("5265dbfcc01c42c8f4974713"), "t" : { "a" : 2, "b" : 2 } }
{ "_id" : ObjectId("5265dc02c01c42c8f4974714"), "t" : { "a" : 1, "b" : 1 } }
我不知道如何措辞,但也许我正在寻找一种将“$in”应用于根级文档的方法..
我是否遗漏了一些明显的东西,或者 mongodb 没有提供在根级别查询 '$in' 的工具?