dokumentacja nie mówi, że jest to niemożliwe. Mówi tylko
To zapytanie nie może być skonstruowane przy użyciu niejawnej operacji AND, ponieważ używa operatora $or więcej niż raz.
oznacza to, że to zadziała :
db.inventory.find( {
$and : [
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
]
} )
ale tak się nie stanie, ponieważ jest to ukryte $and
z dwoma $or
db.inventory.find({
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})
wypróbuj online:mongoplayground.net/p/gL_0gKzGA-u
Oto działający przypadek z niejawnym $and
:
db.inventory.find({ price: { $ne: 1.99, $exists: true } })
Wydaje mi się, że problem, z którym się zmagasz, polega na tym, że w Twojej kolekcji nie ma dokumentu pasującego do Twojej prośby