【发布时间】:2016-11-03 03:56:46
【问题描述】:
我遇到了一个问题。我尝试通过“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" }}})
Pymongo(不工作)
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 中查询相同的查询吗?谢谢!
【问题讨论】: