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

PyMongo -- iteracja kursora

Czy rozważałeś podejście takie jak:

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

Ewentualnie coś takiego:

# 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

Zasadniczo, tak długo, jak masz wystarczająco dużo pamięci RAM do przechowywania zestawów wyników, powinieneś być w stanie wyciągnąć je z kursorów i zatrzymać przed przetwarzaniem. Prawdopodobnie nie będzie to znacznie szybsze, ale złagodzi wszelkie spowolnienia, szczególnie kursorów, i uwolni Cię do równoległego przetwarzania danych, jeśli jesteś na to skonfigurowany.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Czy można wykonać zapytanie bez uwzględniania wielkości liter?

  2. Importuj dane CSV jako tablicę w MongoDB za pomocą mongoimport

  3. Napraw „długość/szerokość geograficzna jest poza granicami” w MongoDB podczas tworzenia indeksu 2dsphere

  4. Dokument osadzony a odniesienie w modelu projektowania mangusty?

  5. Jak używać Node.js do nawiązywania połączenia tunelowego SSH z bazą danych MongoDB?