在Dexie获得GroupBy计数



我有一个IndexedDB表,它接受以下结构化JSON作为一行:

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

我想统计一下表中每个可用日期的数量。即:分组依据:日期,然后计数。预期的示例输出格式为:

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

表包含大量记录。那么,如何使用Dexie有效地实现这一要求呢?

如果索引createdDate,

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;
});

最新更新