Tôi có một tập hợp các mục trong goals
bộ sưu tập mà trông như thế này:MongoDB tổng hợp truy vấn/nhóm/tổng dịch sang pymongo truy vấn
{"user": "adam", "position": "attacker", "goals": 8}
{"user": "bart", "position": "midfielder", "goals": 3}
{"user": "cedric", "position": "goalkeeper", "goals": 1}
tôi muốn để tính toán một tổng của tất cả các mục tiêu. Trong MongoDB shell tôi làm như sau:
> db.goals.aggregate([{$group: {_id: null, total: {$sum: "$goals"}}}])
{ "_id" : null, "total" : 12 }
Bây giờ tôi muốn làm tương tự trong Python bằng pymongo. Tôi đã thử sử dụng cả hai db.goals.aggregate()
và db.goals.group()
, nhưng không thành công cho đến nay.
truy vấn làm việc không:
> 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
Bất kỳ ý tưởng làm thế nào để làm điều này?