ドキュメントには、これが不可能であるとは書かれていません。
とだけ書かれています$ or演算子を複数回使用するため、このクエリは暗黙のAND演算を使用して作成できません。
これは、これが機能することを意味します:
db.inventory.find( {
$and : [
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
]
} )
しかし、これは暗黙的であるため、そうではありません。 $and
2つの$or
db.inventory.find({
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})
オンラインでお試しください:mongoplayground.net/p/gL_0gKzGA-u
これは、暗黙の $and
を使用した作業ケースです。 :
db.inventory.find({ price: { $ne: 1.99, $exists: true } })
あなたが直面している問題は、コレクションにあなたのリクエストに一致するドキュメントがないことだと思います