Ich muss Strings in IndexedDb setzen, die distinct sind. Ich kann sie als Schlüssel ohne Wert haben (ziemlich neu bei indexedDb, also weiß nicht, ob das möglich ist). Das Problem ist, dass jedes Mal, wenn diese Zeichenfolgen gelesen werden, sie wiederholt in IndexDb eingefügt werden. Ich möchte keine andere Methode schreiben, die überprüft, ob diese Werte bereits vorhanden sind, um die Wiederverwendbarkeit von Methoden beizubehalten. Ich glaube, es sollte eine Möglichkeit geben, upgradeDb.createObjectStore('categories', { autoIncrement: true });
zu schreiben, um dies zu tun, kann einfach nicht finden, wie. Mein Code:Wie haben Sie nur den Schlüssel ohne Wert oder wie Sie verschiedene Werte oder in IndexedDb setzen?
Erstellen der Datenbank mit der Tabelle:
function idbOpen() {
return idb.open('greedy', 1, upgradeDb => {
upgradeDb.createObjectStore('categories', { autoIncrement: true });
});
}
Schreiben zur Datenbank:
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"]);
Vielen Dank im Voraus.