MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB не обработва агрегиране с allowDiskUsage:True

Това е така, защото в PyMongo v3.6 подписът на метода за collection.aggregate() е променен. Незадължителен параметър за session е добавен. Сигнатурата на метода сега е:

aggregate(pipeline, session=None, **kwargs)

Прилагайки това към вашия примерен код, можете да посочите allowDiskUse както по-долу:

node = db.way.aggregate(pipeline=[
                {'$unwind': '$node'},
                {'$group': {
                          '_id': '$node',
                          'appear_count': {'$sum': 1}
                          }
                 },
                 {'$sort': {'appear_count': -1}},
                 {'$limit': 10}
               ],
               allowDiskUse=True
        )

Вижте също pymongo.client_session ако искате да научите повече за session .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb:заявка за периода от време между две полета за дата

  2. сумиране на две колони в агрегатния метод

  3. Защо подсказката на Mongo кара заявката да се изпълнява до 10 пъти по-бързо?

  4. Списък на PHP Mongo въпроси:Какво връща _construct, когато replicaSet е true?

  5. Избутване на стойност към масива, ако ключът не съществува Mongoose