Consulta agregada / grupo / sum de MongoDB traducida a consulta pymongo

Tengo un conjunto de entradas en la colección de goals que se ve así:

 {"user": "adam", "position": "attacker", "goals": 8} {"user": "bart", "position": "midfielder", "goals": 3} {"user": "cedric", "position": "goalkeeper", "goals": 1} 

Quiero calcular una sum de todos los objectives. En el shell MongoDB lo hago así:

 > db.goals.aggregate([{$group: {_id: null, total: {$sum: "$goals"}}}]) { "_id" : null, "total" : 12 } 

Ahora quiero hacer lo mismo en Python usando pymongo. Intenté usar tanto db.goals.aggregate() como db.goals.group() , pero hasta ahora no db.goals.group() éxito.

Consultas no laborables:

 > query = db.goals.aggregate([{"$group": {"_id": None, "total": {"$sum": "$goals"}}}]) {u'ok': 1.0, u'result': []} > db.goals.group(key=None, condition={}, initial={"sum": "goals"}, reduce="") SyntaxError: Unexpected end of input at $group reduce setup 

¿Alguna idea de como hacer esto?

Sólo tiene que utilizar una tubería con agregado .

 pipe = [{'$group': {'_id': None, 'total': {'$sum': '$goals'}}}] db.goals.aggregate(pipeline=pipe) Out[8]: {u'ok': 1.0, u'result': [{u'_id': None, u'total': 12.0}]}