【发布时间】:2020-06-09 14:20:40
【问题描述】:
我正在尝试使用 3 个属性的复合索引来过滤使用 between() 函数的一系列条目。
例如:
db.version(1).stores ({
apps: "id,age,shoeSize,height,[age+shoeSize+height]"
});
db.table
.where('[age+shoeSize+height]')
.between([15, 8, 60], [20, 10, 70]);
我希望上面输出的条目年龄在 15-20 岁之间,鞋码在 8-10 岁之间,身高在 60-70 岁之间。
但是,Dexie 似乎只在这里按年龄过滤(并按年龄升序对其进行排序),而没有过滤掉任何不在我查询范围内的 shoeSizes 或 heights。运行代码时没有控制台错误。我是否误解了 between 和复合索引的工作原理? Dexie 有什么方法可以实现这种功能吗?
【问题讨论】:
-
贾里德,对不起。刚刚修好了。修正了那个错字,我仍然遇到同样的问题。
-
有没有办法查看它产生的查询?
-
很好奇你是否曾经用
between解决了这个问题。我有一个非常相似的问题,the docs 似乎暗示它应该可以工作。 -
我也很好奇你是否解决了这个问题。我遇到了同样的问题。
标签: javascript dexie dexiejs