sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man snabbt hämtar alla dokument MongoDB pymongo

att använda $natural sort kommer att kringgå indexet och returnera dokumenten i den ordning som de är lagrade på disken, vilket innebär att mongo inte behöver tjafsa runt med slumpmässiga läsningar på din disk.

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

Prestandan blir kraftigt försämrad om du vill använda en fråga. Du bör aldrig lita på FIFO-beställning. Mongo tillåter sig att flytta runt dokument inom sitt lagringslager. Om du inte bryr dig om beställningen, så var det.

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

i python vill du också använda ett EXHAUST markörtyp som talar om för mongo-servern att strömma tillbaka resultaten utan att vänta på att pymongo-drivrutinen ska bekräfta varje batch

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

Kom ihåg att det aldrig kommer att gå så snabbt som skalet. Den långsammaste aspekten av att flytta data mellan mongo/bson->pymongo->you är UTF8-strängavkodning inom python.



  1. Hur implementerar jag sökfilterfråga med mongodb?

  2. $push och $set i samma MongoDB-uppdatering

  3. TransactionRequiredException Kör en uppdatering/raderingsfråga

  4. Vilket Python API ska användas med Mongo DB och Django