MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как бързо да извлечете всички документи MongoDB pymongo

използването на $natural сортиране ще заобиколи индекса и ще върне документите в реда, в който са съхранени на диска, което означава, че mongo не трябва да се блъска с произволни четения на вашия диск.

https://docs.mongodb.com/ manual/reference/method/cursor.sort/#return-natural-order

Производителността се влошава сериозно, ако искате да използвате заявка. Никога не трябва да разчитате на FIFO подреждане. Mongo си позволява да мести документи в своя слой за съхранение. Ако не ви е грижа за реда, така да бъде.

for d in db.docs.find().sort( { $natural: 1 } ):
    mylist.append(d)

в python искате също да използвате ИЗПУСК тип курсор, който казва на mongo сървъра да предава обратно резултатите, без да чака драйверът на pymongo да потвърди всяка партида

https://api.mongodb .com/python/current/api/pymongo/cursor.html#pymongo.cursor.CursorType.EXHAUST

Имайте предвид, че никога няма да бъде толкова бърз, колкото черупката. Най-бавният аспект на преместването на данни между mongo/bson->pymongo->you е декодирането на низове UTF8 в рамките на python.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не може да се свърже с MongoDB errno:61

  2. MongoDB / Geojson $geointersects проблеми

  3. Как ефективно да изпълнявате различни функции с множество клавиши?

  4. Как да изхвърлите колекция в json файл с помощта на pymongo

  5. Mongoose - вземете дължината на масива в модела