という別個のという文字列をIndexedDbに入れる必要があります。私は価値のないキーとしてそれらを持つことができます(かなり新しいindexedDbなので、それが可能かどうかわかりません)。今の問題は、これらの文字列が読み込まれるたびにIndexDbに繰り返し挿入されることです。メソッドの再利用性を維持するために、これらの値がすでに存在するかどうかをチェックする別のメソッドを記述したくない。私はこれを行うにはupgradeDb.createObjectStore('categories', { autoIncrement: true });
を書き直す方法があるはずだと信じて、ちょうど方法を見つけることができません。私のコード:値を持たないキーを持つ方法、または異なる値を設定する方法、またはIndexedDbに入れる方法は?
テーブルとデータベースの作成:
function idbOpen() {
return idb.open('greedy', 1, upgradeDb => {
upgradeDb.createObjectStore('categories', { autoIncrement: true });
});
}
データベースへの書き込み:事前に
putArrayToDb = (tableName, arrayToPut) => {
if (this.dbPromise) {
this.dbPromise.then(db => {
if (!db) return;
var tx = db.transaction(tableName, 'readwrite');
var store = tx.objectStore(tableName);
arrayToPut.map(arrayItem => {
store.put(arrayItem);
});
})
}
}
putArrayToDb('categories', ["value1", "value2", "value3"]);
感謝。