javascript - 为什么我无法通过IndexedDB 中的IDBKeyRange.bound 函数得到正确的结果?

标签 javascript html indexeddb web-frontend web-storage

我有一个模拟的 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 链接查看代码:

http://jsbin.com/sinuxa/edit?js,console

最佳答案

如果您更改索引的顺序,使变化的部分(名称)位于末尾,它就会起作用。如果您想知道原因,请参阅 In IndexedDB, is there a way to make a sorted compound query?了解复合索引在 IndexedDB 中的工作原理。

关于javascript - 为什么我无法通过IndexedDB 中的IDBKeyRange.bound 函数得到正确的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37302019/

相关文章:

javascript - IndexedDB 和 Angular 应用程序上的大量插入

javascript - 如何在不填盘的情况下测试IndexedDB 'QuotaExceededError'?

browser - 我可以检查我的 indexedDB 占用了多少空间吗?

javascript - 验证以限制用户表单上传大文件

javascript - 大数 - JavaScript 中的数学

javascript - 动态附加时标签不起作用

html - 在哪里可以删除自定义 HTML 属性?

jquery - 如何强制动态 <ul> 为其父级高度的 100%,不多也不少?

javascript - 将 "this"与 jQuery 选择器一起使用

javascript - jQuery 标签 "Undefined is Not a Function"