有没有办法在IndexedDB中对同一属性执行OR或IN查询?
换句话说,我如何得到结果,
SELECT * FROM MyTable WHERE columnA IN ('ABC','DFT') AND columnB = '123thd'
Run Code Online (Sandbox Code Playgroud)
谢谢!
在没有多个请求的情况下,没有办法开箱即用OR或类似IN的查询.通常,像这样的问题的模式是"超出范围,拉出更多的条目然后你需要并将其过滤到完全匹配."
Chrome团队已经 提出了一种openKeyCursor()方法作为此类查询的解决方案(感谢Kyaw Tun的建议,这是SO的参与者和ydn的作者),但它不是标准的,也没有在其他浏览器中采用.
我能想到的最佳解决方案类似于w3线程的注释#4:
columnB使用值'123thd' 打开精确的键光标columnA值'ABC'和'DFT'的对象 如果你通常期望columnB'123thd' 的结果数量非常大,并且大多数没有'ABC'或'DFT'的值,那么你可能需要打开两个游标 - 一个是columnAw/value' ABC'和另一个价值'DFT'.这是一种更复杂的方法,因为您必须手动合并两个结果集.
| 归档时间: |
|
| 查看次数: |
321 次 |
| 最近记录: |