MongoDBとPYTHONを使ってMongoDBにショットを作成し、簡単なジャーナルを作成しています。私はこのシンプルな構造を持っています:
db.posts.findOne()
{
"waketime": ISODate("2016-03-18T11:20:00Z"),
"bedtime": ISODate("2016-03-18T22:00:00Z"),
"day": "day entry",
"dream": "dream entry",
"workout" : [{"type":"cardio"},{"time":45}],
"meditation" : [{"time":10},{"time":10}],
"sex": "none"
}
私は仕事をしている時間と私は運動の種類ごとに取り組んだ時間を取得しようとしています。最後に、私はこれを得ている:
cursor = db.posts.aggregate([
{"$group": {"_id" : "$workout.type", "count": {"$sum": "$workout.time"}}}
])
が、それはこの返します
{u'count': 0, u'_id': [u'cardio']}
{u'count': 0, u'_id': [u'strength']}
workout.type上で正しくグループ化しているようだが、それは$和workout.timeをしません
誰も私を助けることができますか?
はフィールドworkout
は、文書のリストであることをあなたに
大丈夫ですが、1日に複数のトレーニングをしているとどうなりますか? –
大丈夫私のデータモデルには少し誤りがありました。 $ unwind istの使い方を教えてくれてありがとうございます。 –