l'utilizzo dell'ordinamento $natural ignorerà l'indice e restituirà i documenti nell'ordine in cui sono archiviati sul disco, il che significa che mongo non deve agitarsi con letture casuali sul tuo disco.
https://docs.mongodb.com/ manual/reference/method/cursor.sort/#return-natural-order
Le prestazioni vengono notevolmente ridotte se si desidera utilizzare una query. Non dovresti mai fare affidamento sugli ordini FIFO. Mongo si consente di spostare i documenti all'interno del suo livello di archiviazione. Se non ti interessa l'ordine, così sia.
for d in db.docs.find().sort( { $natural: 1 } ):
mylist.append(d)
in python, vuoi anche usare un EXHAUST tipo di cursore che indica al server mongo di eseguire lo streaming dei risultati senza attendere che il driver pymongo riconosca ogni batch
https://api.mongodb .com/python/current/api/pymongo/cursor.html#pymongo.cursor.CursorType.EXHAUST
Intendiamoci, non sarà mai veloce come il guscio. L'aspetto più lento dello spostamento dei dati tra mongo/bson->pymongo->you è la decodifica di stringhe UTF8 all'interno di Python.