如何在MongoDB中执行OR?

时间:2010-10-02 23:03:44

标签: mongodb

在MongoDB中进行这样的查询的最佳方法是什么?

SELECT * FROM things WHERE (a = 1 or b = 1) and (c = 2 or d = 2)

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用$or表达式。

db.things.find({$或:[{a:1},{b:1}],$或:[{c:2},{d:2}]})

答案 1 :(得分:1)

@Drew ,此查询的正确答案如下:

db.test.find( { $or : [ { a : 1}, { b : 1 } ], $or : [ { c : 2 }, { d : 2 } ] } )

那是a = 1 or b = 1 c = 2 or d = 2。如果查看代码,您会注意到有两个用逗号分隔的子句。在进行查找时,逗号实际上是子句。

有关使用$或子句的文档,请参阅here