以下查询:
db.mydoc.find({x:{$in:[1, 2, 3]}, y:{$in:[0.1, 0.2, 0.3]}})
将找到包含x和y的所有可能组合的记录。如何修改查询以便我只获得与相应的x和y对匹配的记录,即假设:
db.mydoc.find({(x,y):{$in:[(1,0.1), (2,0.2), (3,0.3)]}})
我当然可以在后处理中过滤掉这些内容,或者查询每个x,但有没有办法在一个查询中获取它?
答案 0 :(得分:2)
这实际上变成了$or
查询,如下所示:
db.mydoc.find({
"$or": [
{ "x": 1, "y": 0.1 },
{ "x": 2, "y": 0.2 },
{ "x": 3, "y": 0.3 }
]
})
因此逻辑现在只选择符合这些特定标准的文档。