存储在 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/