【发布时间】:2016-01-27 14:46:35
【问题描述】:
是否可以在多个键上使用“绑定”keyRange 搜索 indexedDb 对象存储。使用以下数据:
let simpleA = {
id: 'A',
bottomX: 2.5,
bottomY: 5.5,
topX: 3.5,
topY: 6.5
};
let simpleB = {
id: 'B',
bottomX: 4.2,
bottomY: 4.2,
topX: 4.8,
topY: 4.8
};
let simpleC = {
id: 'C',
bottomX: 8.5,
bottomY: 6.5,
topX: 9.5,
topY: 7.5
};
我尝试在多个键上创建索引:
simpleStore.createIndex('bottomX bottomY topX topY', ['bottomX', 'bottomY', 'topX', 'topY']);
还有一个像这样的键范围:
let keyRange = IDBKeyRange.bound(
[0,5,0,0],
[10,6,10,10]
);
然后创建一个游标:
let mycursor = index.openCursor(keyRange);
我希望这会给我一个simpleA 和simpleB 但不是simpleC 的结果,因为bottomY 属性不在范围内。然而,当我测试这段代码时,我意识到只有索引的第一个键是使用bound 键范围的测试。
还有其他方法可以在多个键上实现这种范围搜索吗?
对于信息,我从这篇文章中得到了多重索引的灵感: Javascript: Searching indexeddb using multiple indexes
【问题讨论】:
标签: javascript indexeddb