sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB hanterar inte aggregering med allowDiskUsage:True

Detta beror på att i PyMongo v3.6 metodsignaturen för collection.aggregate() har ändrats. En valfri parameter för session har lagts till. Metodsignaturen är nu:

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

Genom att tillämpa detta på ditt kodexempel kan du ange allowDiskUse enligt nedan:

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

Se även pymongo.client_session om du vill veta mer om session .



  1. Hur man aktiverar loggning för Mongoose och MongoDB Node.JS-drivrutinen

  2. Varför ska jag använda Redis när jag har PostgreSQL som min databas för Django?

  3. MongoDB Driver 2.0 C# finns det ett sätt att ta reda på om servern är nere? Hur kör vi Ping-kommandot i den nya drivrutinen?

  4. $projection vs $elemMatch