我可以在特定的字段对上进行$ in吗?

时间:2014-04-17 06:39:22

标签: mongodb

以下查询:

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,但有没有办法在一个查询中获取它?

1 个答案:

答案 0 :(得分:2)

这实际上变成了$or查询,如下所示:

db.mydoc.find({
    "$or": [
        { "x": 1, "y": 0.1 },
        { "x": 2, "y": 0.2 },
        { "x": 3, "y": 0.3 }
    ]
})

因此逻辑现在只选择符合这些特定标准的文档。