dokumentationen säger inte att detta är omöjligt. Det står bara
Den här frågan kan inte konstrueras med en implicit AND-operation, eftersom den använder operatorn $or mer än en gång.
detta betyder att detta kommer att fungera :
db.inventory.find( {
$and : [
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
]
} )
men det gör det inte, eftersom det är en implicit $and
med två $or
db.inventory.find({
{ $or : [ { price : 0.99 }, { price : 1.99 } ] },
{ $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})
prova det online:mongoplayground.net/p/gL_0gKzGA-u
Här är ett fungerande fall med en implicit $and
:
db.inventory.find({ price: { $ne: 1.99, $exists: true } })
Jag antar att problemet du står inför är att det inte finns något dokument som matchar din begäran i din samling