MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

A consulta agregada no mongo funciona, não no Pymongo


Suponho que você tenha uma conexão válida com o MongoDB em Python.
O trecho de código a seguir retornará um cursor do MongoDB em result.
pipeline = [
    {"$unwind": "$COL"},
    {"$group": {"_id": "$LOC", "sum": {"$sum": "$COL.amount"}}}
]

cursor = collection.aggregate(pipeline)

Agora você pode converter cursor listar
result = list(cursor)

e se você imprimir o valor do resultado, obterá exatamente o mesmo resultado da sua consulta do Shell.
[{u'sum': 200.0, u'_id': u'User001'}]

Atualizar :

Vejo que você está chamando o aggregate função no código python como db.docs.aggregate(pipeline) .Você precisa chamá-lo como docs.aggregate... sem db . Veja o exemplo acima.