如何在 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();
我的商店定义如下:
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();