получить счет GroupBy в Dexie - PullRequest
2 голосов
/ 29 марта 2020

У меня есть таблица IndexedDB, которая принимает следующую структурированную JSON в виде строки:

{
    id : 1,
    name : 'doc1',
    createdDate : '2018-08-08'
}

Я хочу получить количество для каждой доступной даты в таблице. ie: groupby: дата, затем счет . Ожидаемый пример вывода в формате:

{
    '2018-08-08' : 5,
    '2018-08-18' : 19,
    ...
}

Таблица содержит большое количество записей. Итак, как эффективно выполнить это требование, используя Dex ie?

1 Ответ

1 голос
/ 30 марта 2020

Если вы индексируете createDate,

const db = new Dexie("yourDB");
db.version(1).stores({
  yourTable: "id, name, createdDate"
});

Тогда вы можете сделать следующее:

const result = {}
await db.yourTable.orderBy('createdDate').eachKey(date => {
  result[date] = (result[date] || 0) + 1;
});
...