Heim > Fragen und Antworten > Hauptteil
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();
};
};
为情所困2017-06-05 11:15:09
indexedDB 类似于 nosql , 只能靠关键字索引了, 没有办法按 sql 来查询。获取到集合以后,可以用 js 的方法,来查找。