mongodbクエリでORとANDの組み合わせを使用できますか?私は何を取得 -mongodbはANDとORの両方でクエリを実行します
> db.things.find();
{ "_id" : ObjectId("4fe8734ac27bc8be56947d60"), "first_name" : "john", "last_name" : "hersh", "phone" : "2222" }
{ "_id" : ObjectId("4fe8736dc27bc8be56947d61"), "first_name" : "john", "last_name" : "hersh", "phone" : "12345678" }
{ "_id" : ObjectId("4fe8737ec27bc8be56947d62"), "first_name" : "elton", "last_name" : "john", "phone" : "12345678" }
{ "_id" : ObjectId("4fe8738ac27bc8be56947d63"), "first_name" : "eltonush", "last_name" : "john", "phone" : "5555" }
上記のクエリをクエリ:
以下のコードは期待
db.things.find({
$and:[
{$or:[
{"first_name" : "john"},
{"last_name" : "john"}
]},
{"phone": "12345678"}
]});
データベースの内容としては動作しません!
> db.things.find({$and:[{$or:[{"first_name" : "john"}, {"last_name" : "john"}]},{"phone": "12345678"}]});
>
私は$を信じ、唯一のMongoDBのv2.0 +でサポートされて1.8.3
これは、あなたが実行しているMongoDBの古いバージョンの問題だと思います。あなたのクエリは2.0.6で動作するようです。 – Miikka