Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Ich bitte um Hilfe bei einer Frage zu indexedDB

Wie unten gezeigt, ist der Primärschlüssel eines von mir gespeicherten Datenelements timeStamp. Ich weiß, dass diese Daten durch Abrufen des Primärschlüsselwerts gefunden werden können, die Daten jedoch nicht durch Abfrage anderer darin enthaltener Werte abgerufen werden können. Können Abfragebedingungen ähnlich wie bei SQL-Anweisungen nicht implementiert werden? (Überprüfen Sie sie alle und gehen Sie dann die Ergebnisse durch und beseitigen Sie sie)

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

store.get(1496251171844)

Einige Leute sagen, ich solle einen Index verwenden, aber der Index kann nicht anhand des Werts abgefragt werden. Ich möchte immer noch ein Urteil fällen, um die angegebene Gruppe direkt unter dem Objektspeicher abzurufen

 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();
    };
};
某草草某草草2717 Tage vor661

Antworte allen(2)Ich werde antworten

  • 伊谢尔伦

    伊谢尔伦2017-06-05 11:15:09

    createIndex可以添加多个索引,并设置是否索引值是否唯一

    Antwort
    0
  • 为情所困

    为情所困2017-06-05 11:15:09

    indexedDB 类似于 nosql , 只能靠关键字索引了, 没有办法按 sql 来查询。获取到集合以后,可以用 js 的方法,来查找。

    Antwort
    0
  • StornierenAntwort