Несколько последовательных групп в одном запросе Mongodb - PullRequest
0 голосов
/ 18 декабря 2018

Вот мой рабочий код:

age_range = DemographicsData.collection.aggregate([
  { '$match' => { video_id: { '$in' => video_ids }}},
  { '$unwind' => '$demographics_labels' },
  { '$group' => { _id: '$demographics_labels.age_range', count: { '$sum' => 1 }}}
])
gender = DemographicsData.collection.aggregate([
  { '$match' => { video_id: { '$in' => video_ids }}},
  { '$unwind' => '$demographics_labels' },
  { '$group' => { _id: '$demographics_labels.gender', count: { '$sum' => 1 }}}
])
ethnicity = DemographicsData.collection.aggregate([
  { '$match' => { video_id: { '$in' => video_ids }}},
  { '$unwind' => '$demographics_labels' },
  { '$group' => { _id: '$demographics_labels.ethnicity', count: { '$sum' => 1 }}}
])
{
  age: age_range,
  gender: gender,
  ethnicity: ethnicity,
}

Есть ли способ получить тот же конечный результат в одном запросе к базе данных?

Mongo v2.4.9

Rails v3.2.8

Ruby v1.9.3

MongoId v3.1.0

С нетерпением ждем их обновления в какой-то момент, но решение должно будет принять эти версии всчет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...