誰かがIndexedDBオブジェクトストアから複数のキー値を取得する方法を提案できますか?私は複数の選択肢を行ってきましたが、何もしませんでした。 はここIndexedDbオブジェクトストアから複数のキー値を取得する方法
$provide.value('dbModel', {
name: 'TestDB',
version: '1',
instance: {},
objectStoreName: {
dashboards: 'Appointment'
},
upgrade: function (e) {
var db = e.target.result;
if (!db.objectStoreNames.contains('Appointment')) {
var calendarobj = db.createObjectStore('Appointment', {
keyPath: 'AppointmentId'
});
calendarobj.createIndex("AppointmentId", "AppointmentId", { multiEntry: true });
}
}
});
、データが
KeyPath-AppointmentId Value
===================== =====
1 Test 1
2 Test 2
3 Test 3
のように見える私はobjectstorenameインスタンスを取得するgetObjectStoreメソッドを持っているのIndexedDBを作成しました。
getObjectStore: function (objectStoreName, mode) {
var modeact = mode || _db.transactionTypes.readonly;
var txn = _db.instance.transaction(objectStoreName, modeact);
var store = txn.objectStore(objectStoreName);
return store;
}
var keys = [1,2]; // Want to get the First two record which has value 'Test 1' and 'Test 2'
var store = _db.getObjectStore(objectStoreName);
var tagIndex = store.index(store.keyPath); //AppointmentId
var request = tagIndex.openCursor(IDBKeyRange.only(keys));
//var request = tagIndex.get(keys);
request.onsuccess = function (event) {
console.log(event.result);
}
投票時にコメントを追加してください。私の質問を改善できるように – Pradeep