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

Mongodb :$in operator vs banyak pertanyaan tunggal

Saya pasti akan menggunakan kueri $in dan menyediakan array _id.

Contoh:

db.collection.find({
    "key": {
        "$in": [
            ObjectId("xxx"),
            ObjectId("yyy"),
            ObjectId("zzz")
        ]
    }
})

Mengapa?

  • Jika Anda mengulang, ada sejumlah penyiapan dan pembongkaran untuk setiap kueri yang membuat dan melelahkan kursor yang akan membuat overhead.
  • Jika Anda tidak melakukan ini pada mesin lokal, ini juga menciptakan overhead tcp/ip untuk setiap permintaan. Secara lokal Anda dapat menggunakan soket domain.
  • Ada indeks pada "_id" yang dibuat secara default dan pengumpulan sekelompok dokumen untuk dikembalikan dalam permintaan batch harus sangat cepat sehingga tidak perlu memecahnya menjadi kueri yang lebih kecil.

Ada beberapa dokumentasi tambahan di sini jika Anda ingin melihatnya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kode keluar mongo tak terduga 100. Mulai ulang

  2. heroku mongohq dan mongoid Mongo::ConnectionFailure

  3. Cara Membagi Shard Key Berbasis GUID Secara Terprogram dengan MongoDB

  4. tidak dapat memulai server lokal mongodb

  5. Menyimpan struct bersarang dengan mgo