如何在 where 子句后获取复合索引的一部分?

How do I get part of a compound index following a where clause?

我的商店定义如下:

db.version(DB_VERSION).stores({ STATE: 'state', LOGS: '[timestamp+activity]', })

这会创建一个 compound index,稍后可以像这样访问它:

await db.LOGS.where('[timestamp+activity]')
    .below(Date.now() - 604800000)
    .delete()

但是上面的代码片段得到了 compound,而我只需要将 timestamp 拉出到 运行 below 方法上。这里的想法是删除超过一周的索引项目。

在查询复合索引时,参数必须是第一个和第二个值的数组。

只需将其更改为:

await db.LOGS.where('[timestamp+activity]')
    .below([Date.now() - 604800000, -Infinity])
    .delete();