Tôi giả sử bạn có kết nối hợp lệ với MongoDB bằng Python.
Đoạn mã sau sẽ trả về con trỏ MongoDB trong kết quả result.
pipeline = [
{"$unwind": "$COL"},
{"$group": {"_id": "$LOC", "sum": {"$sum": "$COL.amount"}}}
]
cursor = collection.aggregate(pipeline)
Bây giờ bạn có thể chuyển đổi cursor
để liệt kê
result = list(cursor)
và nếu bạn in giá trị của kết quả, bạn sẽ nhận được kết quả chính xác giống như trong truy vấn Shell của bạn.
[{u'sum': 200.0, u'_id': u'User001'}]
Cập nhật :
Tôi thấy rằng bạn đang gọi aggregate
trong mã python dưới dạng db.docs.aggregate(pipeline)
.Bạn cần gọi nó là docs.aggregate...
không có db
. Xem ví dụ ở trên.