sql >> Base de Datos >  >> NoSQL >> MongoDB

Consulta agregada en mongo funciona, no en Pymongo

Supongo que tiene una conexión válida a MongoDB en Python.
El siguiente fragmento de código devolverá un cursor MongoDB en result.

pipeline = [
    {"$unwind": "$COL"},
    {"$group": {"_id": "$LOC", "sum": {"$sum": "$COL.amount"}}}
]

cursor = collection.aggregate(pipeline)

Ahora puedes convertir cursor listar

result = list(cursor)

y si imprime el valor del resultado, obtendrá exactamente el mismo resultado que en su consulta de Shell.

[{u'sum': 200.0, u'_id': u'User001'}]

Actualizar :

Veo que estás llamando al aggregate función en código python como db.docs.aggregate(pipeline) .Necesitas llamarlo como docs.aggregate... sin db . Vea el ejemplo anterior.