MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Najlepszy sposób na czytanie i aktualizowanie dokumentów mongodb za pomocą pymongo

Potrzebujesz "Interfejs API operacji zbiorczych" z MongoDB. W większości wprowadzone w MongoDB 2.6, więc jest to ważny powód do aktualizacji, jeśli obecnie tego nie zrobiłeś.

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()

Dużo lepiej, ponieważ nie wysyłasz „każdego” żądania do serwera, tylko raz na 1000 żądań. „Bulk API” trochę to załatwia, ale naprawdę chcesz „zarządzać” tym trochę lepiej i nie zużywać zbyt dużo pamięci w swojej aplikacji.

Droga przyszłości. Użyj go.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. wstaw tablicę do mongodb za pomocą pymongo

  2. Mongodb $lookup z zagnieżdżonym dokumentem

  3. Dane przestrzenne z mongodb lub cassandra

  4. Wyszukiwanie kluczy w MongoDB bez uwzględniania wielkości liter

  5. MongoTimeoutException:Brak dopasowania serwera — MongoDB Atlas