我遇到了一个问题。我尝试查询此文档以获取“COL”数组外部的 LOC 标识符的金额和分组总和。
{
"_id" : ObjectId("57506d74c469888f0d631be6"),
"LOC" : "User001",
"COL" : [
{
"date" : "25/03/2016",
"number" : "Folio009",
"amount" : 100
},
{
"date" : "25/04/2016",
"number" : "Folio010",
"amount" : 100
}
]
}
该命令在 mongo 中有效,但我无法使用 Pymongo 包使其在 Python 中工作:
Mongo 查询(工作)
db.perfiles.aggregate({"$unwind": "$COL"},
{ "$group": { _id: "$LOC", "sum" : {"$sum" : "$COL.amount" }}})
皮蒙戈(不工作)
from pymongo import MongoClient
client = MongoClient()
db = client['temporal']
docs = db.perfiles
pipeline = [{"$unwind": "$COL"},
{"$group": {"_id": "$LOC", "count": {"$sum": "$COL.amount"}}}
]
list(db.docs.aggregate(pipeline))
有什么建议可以在 Pymongo 中查询相同的查询吗?谢谢!