Bạn đã xem xét một cách tiếp cận như:
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
Ngoài ra, một cái gì đó như:
# 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
Về cơ bản, miễn là bạn có đủ RAM để lưu trữ các tập kết quả của mình, bạn sẽ có thể kéo chúng ra khỏi con trỏ và giữ chúng trước khi xử lý. Điều này có thể không nhanh hơn đáng kể, nhưng nó sẽ giảm thiểu mọi sự chậm lại cụ thể của các con trỏ và giải phóng bạn xử lý dữ liệu của mình song song nếu bạn đã thiết lập.