我想知道是否可以使用通配符在indexeddb对象存储上执行搜索。 找到以'555'开头的所有对象例如Indexeddb:使用通配符搜索
回答
这可以使用复合键或关键片段开箱即用。 在IndexedDB中工作的方式是您生成一个“keyRange”对象并将其传递给您的游标调用。关键字传递信息,如“从A开始,以Z结尾,包含”。
本质上,有部分匹配内置于此;缺点是您的光标会返回您的按键之间的任何按键,您可能需要进一步滤除这些结果。
说你有这些词作为一个对象存储键:
- 土豚
- 苹果
- 谷歌
- 微软
键范围“A到Z,包容性“将会返回所有这些,但是”Ap to Z,inclusive“只会返回最后三个。
我用来实现这个的另一种技术是将“过滤器”函数传递给调用IndexedDB的方法。在方法onsuccess回调中,通过你的过滤函数传递结果(event.target.result
),如果它返回true,则调用方法调用者的onsuccess回调函数。
搜索也可以与索引资料通配符看到链路IndexedDB Fuzzy Search
通配符下面应该工作: VAR范围= IDBKeyRange.bound( “555”, “555” + '\ uffff');
否则可以使用Linq2indexeddb库来使用like。
是的,使用通配符是可行的,排序。
我还不能投票,甚至不能评论以前的答案(嗯......),所以我只是重复user2025527的答案,因为它完全符合我的需求。
使用bounds方法并指定第一个参数的基本值和第二个参数的相同值加上一个额外字符。
在大多数情况下,多余的字符的字符应该是最后一个在你的字符集:\ uffff
但你可以自由地决定什么是极限,本地化时尤其如此。
免得说你有你的指数以下值:
- 一个
- AB
- 乙
- BA
- BB
- Ç
要找到一切陈述w ith应该使用“BA”
var range = IDBKeyRange.bound("BA", "BA" + '\uffff');
“所以我只会重复user2025527的回答”请不要只重复回答;如果你打算这么做的话,至少在它上面添加一些东西。 – 2014-01-04 06:30:15
那么如何搜索所有包含字母“B”的值 – 2014-11-05 04:49:43
- 1. 使用通配符搜索
- 2. 搜索用通配符
- 3. PHP + MySQL:使用通配符搜索
- 4. 通配符搜索使用jQuery
- 5. 使用通配符PHP搜索数组?
- 6. 使用通配符创建搜索
- 7. ngram通配符搜索弹性搜索
- 8. 弹性搜索在query_string中使用通配符精确搜索
- 9. 用搜索字符串。通配符
- 10. 字符串搜索/通配符匹配
- 11. 通配符搜索w/MySQL
- 12. C#MySqlParameter通配符搜索
- 13. Lucene.Net TermQuery通配符搜索
- 14. CRM Dynamics搜索通配符
- 15. MYSQL搜索/通配符
- 16. 使用通配符字符搜索字符串的SQL
- 17. Word VBA通配符搜索匹配
- 18. PHP搜索字符串(带通配符)
- 19. 使用通配符(“*”)的Excel索引搜索
- 20. 的Javascript:搜索IndexedDB的使用多个索引
- 21. 用PHP搜索mySQL,使用WHERE通配符或IF语句?
- 22. Solr中的通配符搜索
- 23. bash sed通配符搜索替换
- 24. 发现 - 通配符路径搜索
- 25. 带通配符的搜索电话
- 26. Postgresql通配符搜索功能
- 27. Powershell中的HtmlAgilityPack通配符搜索
- 28. Laravel 5.4搜索后区通配符
- 29. 带通配符的全文搜索
- 30. 帐户搜索通配符 - SugarCRM
在SQL中,它使用'键LIKE'555%''执行,并且应该可以工作。 – kirilloid 2012-03-20 16:50:13
可能重复[IndexedDB模糊搜索](http://stackoverflow.com/questions/7086180/indexeddb-fuzzy-search) – Josh 2014-05-22 19:09:54