ビデオにはembeds_manyの日付があり、日付にはembeds_manyの国があるためです。集計フレームワークを使用して、すべての合計を取得するにはどうすればよいlikes_count
ですか?
私は次の構造を得ました:
{ "_id" : ObjectId( "5190fbbc72357e713900001b" ),
"dates" : [
{ "_id" : ObjectId( "5190fbbc72357e713900001c" ),
"countries" : [
{ "_id" : ObjectId( "5190fbbc72357e713900001d" ),
"unique_views_count" : 500,
"non_unique_views_count" : 1000,
"likes_count" : 1,
"comments_count" : 1,
"iso_two_letter_country_code" : "US",
"country_name" : "United States" },
{ "_id" : ObjectId( "5190fbbc72357e713900001e" ),
"unique_views_count" : 300,
"non_unique_views_count" : 777,
"likes_count" : 0,
"comments_count" : 0,
"iso_two_letter_country_code" : "UK",
"country_name" : "United Kingdom" } ],
"date" : 20130513 } ],
"video_id" : 1 }
これまでのところ、私は試してみましたが、役に立ちませんでした:
Video.collection.aggregate(
{ '$unwind' => '$dates.countries'},
{
'$group' => {
'_id' => '$_id'
'likes' => { '$sum' => '$dates.countries.likes_count' }
}
}
)