rethinkdb - как сделать вложенный групповой запрос

Мой документ

{
  itemName: 'name1',
  itemType: 'book',
  createTime: '2014-09-24 10:10:10'
 }

Затем я хочу запросить группу элементов, созданную за последние n дня createTime и itemType.

Другими словами, я ожидал, что мой результат будет примерно таким

[{
  group: '2014-09-24',
  reduction {
      {
        group: 'book', 
        reduction: {count: 100}
      },
       {
        group: 'computer',
        reduction: {count: 100}
      },
  },
  {
  group: '2014-09-22',
  reduction {
      {
        group: 'book',
        reduction: {count: 100}
      },
       {
        group: 'computer',
       reduction: {count: 100}
      }
  }
}]

rql может выглядеть так

r.db(xx).table(yy)
 .order({index: r.desc(createTime)})
 .group(r.row('createTime').date())
 .map(function() {
  ????
}).ungroup()

person jilen    schedule 25.09.2014    source источник


Ответы (1)


Вы также можете напрямую заказать все (но вы не получите вложенных полей:

 r.db(xx).table(yy)
   .group([r.row("createTime"), r.row("itemType")])
   .count()

Вы почему-то пока не можете использовать group внутри group. См. https://github.com/rethinkdb/rethinkdb/issues/3097, чтобы отслеживать прогресс. на это ограничение.

person neumino    schedule 25.09.2014