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

MongoDB:tidak dapat menggunakan kursor untuk beralih melalui semua data

Secara umum, ya. Jika Anda memiliki bidang monoton, idealnya bidang yang diindeks, Anda bisa mengikutinya. Misalnya, jika Anda menggunakan bidang jenis ObjectId sebagai kunci utama atau jika Anda memiliki CreatedDate atau sesuatu, Anda cukup menggunakan $lt kueri, ambil sejumlah elemen tetap, lalu kueri lagi menggunakan $lt dari _id terkecil atau CreatedDate Anda temui di batch sebelumnya.

Hati-hati dengan perilaku monoton yang ketat vs. perilaku monoton yang tidak ketat:Anda mungkin harus menggunakan $lte jika kuncinya tidak ketat, maka cegah melakukan hal-hal dua kali pada penipuan. Sejak _id bidangnya unik, ObjectIds selalu sangat monoton.

Jika Anda tidak memiliki kunci seperti itu, semuanya akan sedikit lebih rumit. Anda masih dapat mengulangi 'sepanjang indeks' (indeks apa pun, baik itu nama, hash, UUID, Guid, dll.). Itu juga berfungsi dengan baik, tetapi sulit untuk melakukan snapshotting, karena Anda tidak pernah tahu apakah hasil yang baru saja Anda temukan dimasukkan sebelum Anda mulai melintasi, atau tidak. Juga, ketika dokumen dimasukkan di awal traversal, dokumen itu akan terlewatkan.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Paging yang efisien di MongoDB menggunakan mgo.v2 dan MongoDB> 4.2

  2. Bagaimana cara mendapatkan status budak mongodb menggunakan nodejs?

  3. Apakah Azure Cosmos DB tidak mendukung indeks unik MongoDB/Mongoose?

  4. MongoDB C#:Update.pullAll tidak menghapus item

  5. Meteor:mengunggah file dari klien ke koleksi Mongo vs sistem file vs GridFS