sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB nezpracovává agregaci pomocí allowDiskUsage:True

Je to proto, že v PyMongo v3.6 je podpis metody pro collection.aggregate() bylo změněno. Volitelný parametr pro session byl přidán. Podpis metody je nyní:

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

Když to použijete na svůj příklad kódu, můžete zadat allowDiskUse jak je uvedeno níže:

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

Viz také pymongo.client_session pokud se chcete dozvědět více o session .



  1. seskupit podle dat v mongodb

  2. Jak snadno spravovat aktualizace databáze a bezpečnostní záplaty

  3. Jak se dotazovat na mongodb z groovy/grails?

  4. Potíže s publikováním/přihlášením k odběru souhrnného dotazu Mongo