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

MongoDB Temukan Kecocokan Array yang Tepat tetapi urutan tidak masalah

Jawaban yang diterima saat ini TIDAK memastikan kecocokan yang tepat pada larik Anda, hanya saja ukurannya identik dan larik tersebut berbagi setidaknya satu item dengan larik kueri.

Misalnya, kueri

db.coll.find({ "hobbies": { "$size" : 2, "$in": [ "2", "1", "5", "hamburger" ] }  });

masih akan mengembalikan kaushik pengguna dalam kasus itu.

Yang perlu Anda lakukan untuk mendapatkan pencocokan tepat adalah menggabungkan $size dengan $all , seperti ini:

db.coll.find({ "hobbies": { "$size" : 2, "$all": [ "2", "1" ] }  });

Namun perlu diketahui bahwa ini bisa menjadi operasi yang sangat mahal, tergantung pada jumlah dan struktur data Anda. Karena MongoDB menjaga agar urutan array yang disisipkan tetap stabil, Anda mungkin lebih baik dengan memastikan array berada dalam urutan yang diurutkan saat memasukkan ke DB, sehingga Anda dapat mengandalkan urutan statis saat membuat kueri.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Buat Indeks Multikey di MongoDB

  2. Bagaimana cara mendapatkan objectID setelah saya menyimpan objek di Mongoose?

  3. Temukan String di dalam String di SQL

  4. Pesan Kesalahan Kustom dengan Mongoose

  5. Apa keuntungan menggunakan ObjectId daripada String biasa?