a documentação não diz que isso é impossível. Só diz
Essa consulta não pode ser construída usando uma operação AND implícita, porque usa o operador $or mais de uma vez.
isso significa que isso funcionará:
db.inventory.find( {
$and : [
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
]
} )
mas isso não vai, porque é um implícito
$and
com dois $or
db.inventory.find({
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})
experimente online:mongoplayground.net/p/gL_0gKzGA-u
Aqui está um caso de trabalho com um
$and
implícito :db.inventory.find({ price: { $ne: 1.99, $exists: true } })
Acho que o problema que você está enfrentando é que não há nenhum documento que corresponda à sua solicitação em sua coleção