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

Cara terbaik untuk membaca dan memperbarui dokumen mongodb menggunakan pymongo

Anda menginginkan "API Operasi Massal" dari MongoDB. Sebagian besar diperkenalkan dengan MongoDB 2.6, jadi alasan kuat untuk memutakhirkan jika saat ini Anda belum melakukannya.

bulk = db.coll.initialize_ordered_bulk_op()
counter = 0

for record in coll.find(snapshot=True):
    # now process in bulk
    # calc value first
    bulk.find({ '_id': record['_id'] }).update({ '$set': { 'field': newValue } })
    counter += 1

    if counter % 1000 == 0:
        bulk.execute()
        bulk = db.coll.initialize_ordered_bulk_op()

if counter % 1000 != 0:
    bulk.execute()

Jauh lebih baik karena Anda tidak mengirim "setiap" permintaan ke server, hanya sekali dalam setiap 1000 permintaan. "API Massal" sebenarnya memilah ini untuk Anda, tetapi sebenarnya Anda ingin "mengelola" ini sedikit lebih baik dan tidak menghabiskan terlalu banyak memori di aplikasi Anda.

Cara masa depan. Gunakan.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tips Untuk Upgrade ke Versi MongoDB Terbaru

  2. Bagaimana Anda terhubung ke replika dari shell MongoDB?

  3. Bagaimana cara menjalankan perintah pencarian teks lengkap di MongoDB dengan Java Driver?

  4. Fungsi Mongo Find() tidak akan mengecualikan _id

  5. Mongoexport ke beberapa file csv