0

У меня есть таблица, подобная этой в rethinkDB.RethinkDB REQL Query, чтобы найти число вхождений различных значений в массиве

[{ 
    "Id": [ 
     12, 
     13 
    ], 
    "group": "79", 
    "go_Id": [] 
}, { 
    "Id": [ 
     12, 
     12, 
     12, 
     14 
     14 
    ], 
    "group": "91", 
    "go_Id": [ 
     16, 
     16, 
     16, 
     19, 
     19, 
     20 
    ] 
}, { 
    "Id": [ 
     12, 
     12, 
     13, 
     13, 
     11 
    ], 
    "group": "second", 
    "go_Id": [ 
     16, 
     17, 
     17, 
     16, 
     17, 
     17 
    ] 
}] 

Я хочу Id и go_Id иметь количество индивидуальных идентификаторов и количество вхождений них. Так, например, желаемый выход равен

[{ 
     "Id": [ 
      12: 1 
      13: 1 
     ], 
     "group": "79", 
     "go_Id": [] 
    }, { 
     "Id": [ 
      12: 3 
      14: 2 
     ], 
     "group": "91", 
     "go_Id": [ 
      16: 3, 
      19: 2, 
      20: 1 
     ] 
    }, { 
     "Id": [ 
      12: 2, 
      13: 2, 
      11: 1 
     ], 
     "group": "second", 
     "go_Id": [ 
      16: 2, 
      17: 4, 
     ] 
    }] 

Как мне это сделать?

Я попытался сгруппировать по id и затем подсчитать, но, похоже, не работает. Что-то вроде r.table('dev').group(r.row('Id"))

ответ

1

Нечто подобное должно работать:

r.table('dev').merge(function(row) { 
    return {Id: row('Id').group(function(x) { return x; }).count().ungroup()}; 
}) 

 Смежные вопросы

  • Нет связанных вопросов^_^