目前,我正在学习javascript IndexedDB,并且发现使用它时无法进行复杂的查询。现在我要进行选择查询
"select * from table where indexA >= 'a' order by indexB ASC limit 10"

我尝试使用
store.createIndex("indexA, indexB", ["indexA","indexB"])
并尝试提出类似的要求
store.index("indexA, indexB").openCursor(IDBKeyRange.lowerBound([1, "a"], true))
但是结果仅根据indexA排序。有什么办法吗?

最佳答案

您必须自己动手。基本上有两种方法:


完成后在'indexA'上使用索引,打开下限为'a'的游标并进行迭代,累加所有结果,然后按indexB排序,并选择前10个。
在'indexB'上使用索引,打开游标并进行迭代,跳过indexA

链接的主题(感谢其他Josh!)提供了更多详细信息。

关于javascript - 如何在indexedDB中“从indexA> ='a'按indexB ASC限制10的表中选择*”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37807022/

10-12 22:25