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

PyMongo -- итерация на курсора

Обмисляли ли сте подход като:

for line in file
  value = line[a:b]
  cursor = collection.find({"field": value})
  entries = cursor[:] # or pull them out with a loop or comprehension -- just get all the docs
  # then process entries as a list, either singly or in batch

Алтернативно, нещо като:

# same loop start
  entries[value] = cursor[:]
# after the loop, all the cursors are out of scope and closed
for value in entries:
  # process entries[value], either singly or in batch

По принцип, стига да имате достатъчно RAM, за да съхранявате вашите набори от резултати, трябва да можете да ги издърпате от курсорите и да ги задържите преди обработка. Това едва ли ще бъде значително по-бързо, но ще смекчи всяко забавяне специално на курсорите и ще ви освободи да обработвате данните си паралелно, ако сте настроени за това.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Автоматизация и управление на бази данни с отворен код в облака - обявяване на ClusterControl 1.6

  2. Поточно предаване от курсор на mongodb до Express отговор в node.js

  3. Redis срещу MongoDB

  4. Премахнете поле от всички елементи в масива в mongodb

  5. Метеор:неочакван изходен код на монго 100