sql >> Database >  >> NoSQL >> MongoDB

MongoDB verwerkt geen aggregatie met allowDiskUsage:True

Dit komt omdat in PyMongo v3.6 de methodehandtekening voor collection.aggregate() is veranderd. Een optionele parameter voor session is toegevoegd. De handtekening van de methode is nu:

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

Als u dit op uw codevoorbeeld toepast, kunt u allowDiskUse . specificeren zoals hieronder:

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

Zie ook pymongo.client_session als je meer wilt weten over session .



  1. Een op GUID gebaseerde Shard-sleutel programmatisch vooraf splitsen met MongoDB

  2. Leidt elke aanroep binnen een multi()-aanroep in phpredis tot een nieuwe netwerkrondreis naar redis?

  3. Geneste opmerkingen in MongoDB

  4. Angular2 ExpressJs - Bestand uploaden naar de server