MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zapytanie MongoDB za pomocą $i i wielu $lub

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Uzyskiwanie wyniku $grupy z liczbą grup

  2. MongoDB liczy odrębną wartość?

  3. jak wyświetlić zapytanie podczas korzystania z adnotacji zapytania w MongoRepository z danymi wiosennymi

  4. Zapytanie MongoDB z elemMatch dla zagnieżdżonych danych tablicowych

  5. Przygotowanie serwera MongoDB do produkcji