在 Dexie 中获取 GroupBy 计数
get GroupBy count in Dexie
我有一个 IndexedDB table 接受以下结构化 JSON 作为一行:
{
id : 1,
name : 'doc1',
createdDate : '2018-08-08'
}
我想获取 table 中每个可用日期的计数。即:groupby:date 然后计数。预期示例输出的格式为:
{
'2018-08-08' : 5,
'2018-08-18' : 19,
...
}
Table 包含大量记录。那么,如何使用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;
});
我有一个 IndexedDB table 接受以下结构化 JSON 作为一行:
{
id : 1,
name : 'doc1',
createdDate : '2018-08-08'
}
我想获取 table 中每个可用日期的计数。即:groupby:date 然后计数。预期示例输出的格式为:
{
'2018-08-08' : 5,
'2018-08-18' : 19,
...
}
Table 包含大量记录。那么,如何使用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;
});