sql >> Database >  >> NoSQL >> MongoDB

PyMongo -- cursor iteratie

Heb je een aanpak overwogen als:

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

Als alternatief zoiets als:

# 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

Kortom, zolang je RAM genoeg hebt om je resultatensets op te slaan, zou je ze van de cursors moeten kunnen trekken en vasthouden voordat je ze verwerkt. Dit zal waarschijnlijk niet significant sneller zijn, maar het zal de vertraging van de cursors verminderen, en u kunt uw gegevens parallel verwerken als u daarvoor bent ingesteld.



  1. mongodb controleer of punt in polygoon is

  2. Opvulling in SQL

  3. Hoe verzendt socket.io berichten over meerdere servers?

  4. Hadoop MapReduce Taakuitvoering stroomschema