我最近發現(遺憾的是)WebSQL不再支持HTML5,而IndexedDB將取而代之。如何在IndexedDB中使用多個條件進行查詢?
我想知道是否有任何方式來查詢或搜索索引數據庫的條目,類似於我如何使用SQL來搜索滿足多個條件的條目。
我見過我可以通過KeyRange使用一個條件搜索IndexedDB。但是,我似乎無法找到任何方法來搜索兩列或更多列數據,而無需從數據庫中獲取所有數據,並使用for循環執行。
我知道這是一個在瀏覽器中幾乎沒有實現的新功能,但我有一個項目,我正在開始研究不同的方式,我可以做到這一點。
謝謝!
P.S.我嘗試使用LocalStorage並存儲JSON編碼的數組,並使用for循環對我的條件進行排序。但是,我的表是4000多個條目,循環遍歷所有這些條目需要超過(可能)100毫秒,這太長了。如果我使用IndexedDB,除非我可以進行多列查詢,否則我不會看到如何加快速度。 – jthereliable
簡而言之:你需要[創建一個索引](http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-createIndex)來查詢你想要的屬性,然後你抓住[index](http ://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-index),然後調用[openCursor](http://www.w3.org/TR/IndexedDB/#widl-IDBIndex- openCursor)方法。我可以拿出一個例子,但它可能需要我一天左右...... – robertc
感謝您的迴應。我試圖做到這一點,但我無法找到如何查詢多行索引來執行諸如SQL的WHERE語句中的多列比較等操作。你有什麼建議嗎? – jthereliable