javascript - 求救一個關於indexedDB的問題
某草草
某草草 2017-06-05 11:13:09
0
2
677

如下圖,我儲存的一條數據,主鍵是timeStamp,我所知道的是能透過get主鍵值來找到這條數據,但是無法透過查詢裡面的其它值來檢索資料嗎?類似sql語句的查詢條件做不到嗎? (全部查出來再遍歷結果排除就算了)

db.createObjectStore('book', {
    keyPath: "timeStamp"
});

store.get(1496251171844)

#有人說用索引,但是索引也無法根據值來查詢啊,還是需要我判斷一遍啊,我
想要的是直接store.get(group),就能獲取改對象存儲下的指定的group

 var book = db.createObjectStore('book', {
        keyPath: "timeStamp"
    });
  // 建立索引
book.createIndex("groupId","groupId", {unique:false});
--------------------------------------------------------

html5.indexedDB.getFromId = function(groud, callback){
    var db = html5rocks.indexedDB.db;
    var tx = db.transaction(['book'],'readwrite');
    var store = tx.objectStore('book');

  
    var index = store.index("groupId");
    request = index.openCursor();
    request.onsuccess = function(event){
        var result = event.target.result;
        if(!result){return;}
        if(result.value.groupId == groud){
            callback(result.value);
        }
        result.continue();
    };
};
某草草
某草草

全部回覆(2)
伊谢尔伦

createIndex可以新增多個索引,並設定是否索引值是否唯一

为情所困

indexedDB 類似 nosql , 只能靠關鍵字索引了, 沒辦法按 sql 來查詢。取得到集合以後,可以用 js 的方法,來找。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板