użycie sortowania $natural spowoduje ominięcie indeksu i zwrócenie dokumentów w kolejności, w jakiej są przechowywane na dysku, co oznacza, że mongo nie musi się męczyć z przypadkowymi odczytami na dysku.
https://docs.mongodb.com/ manual/reference/method/cursor.sort/#return-natural-order
Wydajność zostaje poważnie obniżona, jeśli chcesz użyć zapytania. Nigdy nie powinieneś polegać na zamawianiu FIFO. Mongo pozwala sobie na przenoszenie dokumentów w swojej warstwie przechowywania. Jeśli nie zależy Ci na kolejności, niech tak będzie.
for d in db.docs.find().sort( { $natural: 1 } ):
mylist.append(d)
w Pythonie chcesz również użyć WYDECHU typ kursora, który mówi serwerowi mongo, aby przesyłał strumieniowo wyniki bez czekania, aż sterownik pymongo potwierdzi każdą partię
https://api.mongodb .com/python/current/api/pymongo/cursor.html#pymongo.cursor.CursorType.WYDECH
Pamiętaj, że nigdy nie będzie tak szybki jak skorupa. Najwolniejszym aspektem przenoszenia danych między mongo/bson->pymongo->you jest dekodowanie ciągów UTF8 w pythonie.