MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak szybko pobrać wszystkie dokumenty MongoDB pymongo

użycie sortowania $natural spowoduje ominięcie indeksu i zwrócenie dokumentów w kolejności, w jakiej są przechowywane na dysku, co oznacza, że ​​mongo nie musi się męczyć z przypadkowymi odczytami na dysku.

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

Wydajność zostaje poważnie obniżona, jeśli chcesz użyć zapytania. Nigdy nie powinieneś polegać na zamawianiu FIFO. Mongo pozwala sobie na przenoszenie dokumentów w swojej warstwie przechowywania. Jeśli nie zależy Ci na kolejności, niech tak będzie.

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

w Pythonie chcesz również użyć WYDECHU typ kursora, który mówi serwerowi mongo, aby przesyłał strumieniowo wyniki bez czekania, aż sterownik pymongo potwierdzi każdą partię

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

Pamiętaj, że nigdy nie będzie tak szybki jak skorupa. Najwolniejszym aspektem przenoszenia danych między mongo/bson->pymongo->you jest dekodowanie ciągów UTF8 w pythonie.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przesyłanie strumieniowe wyniku operacji agregowanej za pomocą spring-data-mongodb

  2. Mongo nie może się uruchomić

  3. NotSerializableException org.neo4j.kernel.EmbeddedGraphDatabase

  4. Korzystanie z mongoDB w routerach Express

  5. heroku mongohq i mongoid Mongo::Błąd połączenia