MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como buscar rapidamente todos os documentos MongoDB pymongo


usar a classificação $natural irá ignorar o índice e retornar os documentos na ordem em que são armazenados no disco, o que significa que o mongo não precisa se debater com leituras aleatórias em seu disco.

https://docs.mongodb.com/ manual/reference/method/cursor.sort/#return-natural-order

O desempenho fica severamente degradado se você quiser usar uma consulta. Você nunca deve confiar em pedidos FIFO. O Mongo se permite mover documentos dentro de sua camada de armazenamento. Se você não se importa com a ordem, que assim seja.
for d in db.docs.find().sort( { $natural: 1 } ):
    mylist.append(d)

em python, você também deseja usar um EXHAUST tipo de cursor que informa ao servidor mongo para transmitir os resultados sem esperar que o driver pymongo reconheça cada lote

https://api.mongodb .com/python/current/api/pymongo/cursor.html#pymongo.cursor.CursorType.EXHAUST

Lembre-se, nunca será tão rápido quanto o shell. O aspecto mais lento de mover dados entre mongo/bson->pymongo->you é a decodificação de strings UTF8 dentro de python.