MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Kueri MongoDB dengan $and dan Multiple $or

dokumentasi tidak mengatakan bahwa ini tidak mungkin. Hanya tertulis

Kueri ini tidak dapat dibuat menggunakan operasi AND implisit, karena menggunakan operator $or lebih dari sekali.

ini berarti ini akan berhasil :

db.inventory.find( {
    $and : [
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
    ]
} )

tetapi ini tidak akan terjadi, karena ini adalah implisit $and dengan dua $or

db.inventory.find({
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})

coba online:mongoplayground.net/p/gL_0gKzGA-u

Berikut ini adalah kasus kerja dengan $and implicit implisit :

db.inventory.find({ price: { $ne: 1.99, $exists: true } })

Saya kira masalah yang Anda hadapi adalah tidak ada dokumen yang sesuai dengan permintaan Anda di koleksi Anda




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. batas jumlah koleksi dalam database

  2. Mengakses database produksi meteor pada tahun 2016

  3. Bagaimana cara melakukan Order By berdasarkan nilai di MongoDB?

  4. Bagaimana cara memperbarui bidang dokumen di mongo db menggunakan driver java?

  5. Simpan tanggal di MongoDB tanpa mempertimbangkan zona waktu