我需要计算的值是一个值数组,而不是$ myField是一个项目的关键,它是我需要计算的数组元素,所以所有文档中的玉米,小麦,大麦的数量。
__init__.py
这是单个项目的代码:
"myField": [
"corn",
"wheat"
],
答案 0 :(得分:0)
现在是$unwind的时间,它将一组值转换为一系列文档,每个文档都有一个值,其中数组是:
c = MongoClient().test.collection
c.delete_many({})
c.insert_many([
{"myField": ["corn", "wheat"]},
{"myField": ["corn", "barley"]},
{"myField": ["hops"]},
])
for result in c.aggregate([{
"$unwind": "$myField"
}, {
"$group": {
"_id": "$myField",
"count": {"$sum": 1}
}
}]):
print("%s: %d" % (result["_id"], result["count"]))
输出:
barley: 1
wheat: 1
hops: 1
corn: 2