javascript - IDBKeyRange 按 key 查询,其中 key 为 String

标签 javascript client-side indexeddb client-side-data

存储在 IndexedDB 中的对象的键是一个Array,格式如下:

[int, String]

例如[1,“Foo”][9,“Bar”]

如何使用键的字符串部分查询数据库?例如,我想获取带有键 [:any, "Some key"] 的所有记录。

看起来像IDBKeyRange用于整数范围,但我找不到在键上构建任意查询的方法。

最佳答案

创建索引时,请确保将 multiEntry 设置为 true,即:

objectStore.createIndex("tags","tags", {unique:false,multiEntry:true});

然后,您可以使用唯一的运算符获取范围 - 假设“标签”是您要查找的内容:

var rangeTest = IDBKeyRange.only(tag);

这应该适合你。我在这里有一个完整的博客条目:http://www.raymondcamden.com/index.cfm/2012/8/10/Searching-for-array-elements-in-IndexedDB

关于javascript - IDBKeyRange 按 key 查询,其中 key 为 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13066000/

相关文章:

javascript - Angular : failed to instantiate module

javascript - 在不同的网络浏览器之间共享 IndexedDB 存储

javascript - IndexedDB 为简单对象占用大量空间

javascript - 如何在 Metrostyle Javascript 中使用索引数据库

javascript - 带有 React SSR 的 HTML 异步脚本

reactjs - Next.js - 客户端导航与 html 中的更改

javascript - 为什么我不能在 .load() 回调函数中访问新加载的 DOM 元素?

asp.net-mvc - ASP.Net MVC 2 中列表的客户端验证

javascript - 查询mysql数据库时出现ETIMEDOUT错误

javascript - 获取通用跨度数据的特定数据