我正在使用pymongo MongoClient来做多个不同数量的字段。
我在这里找到了一个类似的例子:Link
但它对我没有用。
例如,给定:
HSQLDB
我想算一下有多少名字,价值组合。所以我按照上面的链接,写这个只是为了测试(我知道这个解决方案不是我想要的,我只是按照链接的模式,并试图了解它是如何工作的,至少这个代码可以返回我财产以后):
data = [{"name": random.choice(all_names),
"value": random.randint(1, 1000)} for i in range(1000)]
collection.insert(data)
但是控制台给了我这个:
collection.aggregate([
{
"$group": {
"_id": {
"name": "$name",
"value": "$value",
}
}
},
{
"$group": {
"_id": {
"name": "$_id.name",
},
"count": {"$sum": 1},
},
}
])
那么,正确的代码是什么?感谢您的帮助。
答案 0 :(得分:1)
最后我找到了一个解决方案:Group by Null
res = col.aggregate([
{
"$group": {
"_id": {
"name": "$name",
"value": "$value",
},
}
},
{
"$group": {"_id": None, "count": {"$sum": 1}}
},
])