为什么我无法通过IndexedDB 中的IDBKeyRange.bound 函数得到正确的结果?
Why I cannot get the correct result through IDBKeyRange.bound function in IndexedDB?
我有一个模拟 indexedDB 包含如下项目:
{
id:1002,
name:"Frank",
company: "dg",
age:30
}
并且我已经创建了索引 ['name','age','company'] ,只是想得到我需要的结果就像 websql 一样。
getMultipleDataByRange function定义为获取项,我设置['0',24,'ef']
为lowerBound
和 ['z',24,'ef']
为 upperBound
,我认为它应该显示结果匹配 24 岁加上公司为 "ef" 的项目。但是结果显示所有项目都符合我设置的范围。如何设置范围以获得正确的结果。
代码也可以通过JSBIN查看link 我生成了:
如果您更改索引的顺序,使变化的部分(名称)位于末尾,它就会起作用。如果您想知道原因,请参阅 In IndexedDB, is there a way to make a sorted compound query? 了解复合索引在 IndexedDB 中的工作原理。
我有一个模拟 indexedDB 包含如下项目:
{
id:1002,
name:"Frank",
company: "dg",
age:30
}
并且我已经创建了索引 ['name','age','company'] ,只是想得到我需要的结果就像 websql 一样。
getMultipleDataByRange function定义为获取项,我设置['0',24,'ef']
为lowerBound
和 ['z',24,'ef']
为 upperBound
,我认为它应该显示结果匹配 24 岁加上公司为 "ef" 的项目。但是结果显示所有项目都符合我设置的范围。如何设置范围以获得正确的结果。
代码也可以通过JSBIN查看link 我生成了:
如果您更改索引的顺序,使变化的部分(名称)位于末尾,它就会起作用。如果您想知道原因,请参阅 In IndexedDB, is there a way to make a sorted compound query? 了解复合索引在 IndexedDB 中的工作原理。