我的结构是...
solution = minimize(rootfunc,initialGuess,method='SLSQP',\
bounds=bnds,constraints=con2,options={'eps':1,'disp':True})
我想获取用户的总天数。如果{ _id = object_id,
user: name,
days: { "4/1/2010": {"checked": true},
"4/2/2011": {"checked": false)}
}
是一个数组,我会做类似...
days
,但是由于我无法使用 db.collection.aggregate([{"$group": {"_id": null, {"$sum": {"$size": "$days"}}}}])
,因此无法正常工作。有人有建议吗?
注意:每个用户的数据结构中可能缺少不同的天数,这就是为什么我要检查每个用户的size
答案 0 :(得分:2)
您可以在$objectToArray
阶段使用聚合管道将days
对转换为数组,然后在3.4的$sum
阶段将$size
和$group
转换为数组。 / p>
db.collection.aggregate([
{"$group":{
"_id":null,
"count":{
"$sum":{
"$size":{"$objectToArray":"$days"}
}
}
}}
])