web-dev-qa-db-ja.com

MongoDB-複数の$ or操作

複数の$ or演算をどのように実行しますか?これまでのところ、私は次のことを試しましたが、2番目の$ orを黙って無視します。

{
  $or: [{a: 2}, {a: 3}], 
  $or: [{b: 5}, {b: 4}]
}

これは、2つの同一のキーを使用しているためだと思います。これを回避する方法はありますか?

57
Mike

Mongo 2.0は$ and演算子を追加したので、次のようなクエリを実行できます。

db.things.find({$and: [{$or : [{'a':1},{'b':2}]},{$or : [{'a':2},{'b':3}]}] })

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24and

94
Nader