sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan henter du hurtigt alle dokumenter MongoDB pymongo

at bruge $natural sorten vil omgå indekset og returnere dokumenterne i den rækkefølge, de er gemt på disken, hvilket betyder, at mongo ikke behøver at tøffe rundt med tilfældige læsninger på din disk.

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

Ydeevnen bliver alvorligt forringet, hvis du vil bruge en forespørgsel. Du bør aldrig stole på FIFO-bestilling. Mongo tillader sig selv at flytte rundt på dokumenter inden for dets lagerlag. Hvis du er ligeglad med ordren, så gør det.

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

i python vil du også bruge en UDSTØD markørtype, der fortæller mongo-serveren at streame resultaterne tilbage uden at vente på, at pymongo-driveren anerkender hver batch

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

Husk, det bliver aldrig så hurtigt som skallen. Det langsomste aspekt ved at flytte data mellem mongo/bson->pymongo->du er UTF8-strengafkodning i python.



  1. NoSQL-datastreaming med MongoDB &Kafka

  2. Hvordan kan jeg løse Kunne ikke opsætte sockets under opstart, når jeg kører mongodb server?

  3. Sådan bruger du $in-operator i mongodb med to felter i java

  4. Hvordan får du adgang til en MongoDB-database fra to Openshift-apps?