0

ビデオには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' }
    }
  }
)
4

1 に答える 1