我想知道是否可以使用通配符在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