MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So rufen Sie schnell alle Dokumente ab MongoDB pymongo

Die Verwendung der $natürlichen Sortierung umgeht den Index und gibt die Dokumente in der Reihenfolge zurück, in der sie auf der Festplatte gespeichert sind, was bedeutet, dass Mongo nicht mit zufälligen Lesevorgängen auf Ihrer Festplatte herumhantieren muss.

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

Die Leistung wird stark beeinträchtigt, wenn Sie eine Abfrage verwenden möchten. Sie sollten sich niemals auf die FIFO-Ordnung verlassen. Mongo ermöglicht es sich, Dokumente innerhalb seiner Speicherschicht zu verschieben. Wenn dir die Reihenfolge egal ist, sei es so.

for d in db.docs.find().sort( { $natural: 1 } ):
    mylist.append(d)

In Python möchten Sie auch einen EXHAUST verwenden Cursortyp, der den Mongo-Server anweist, die Ergebnisse zurückzuströmen, ohne darauf zu warten, dass der Pymongo-Treiber jeden Batch bestätigt

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

Wohlgemerkt, es wird nie so schnell sein wie die Muschel. Der langsamste Aspekt beim Verschieben von Daten zwischen mongo/bson->pymongo->you ist die UTF8-String-Decodierung in Python.