Adicionando Registros ao Armazenamento no IndexedDB API - JavaScript
Para adicionar registros ao armazenamento em uma base de dados IndexedDB, utiliza-se o método add()
O método add()
add(value)
add(value, key)
O primeiro parâmetro representa o valor a ser adicionado ao armazenamento. O segundo, opcional, define a chave do registro. Se não for especificado, o valor padrão será null
A necessidade de especificar uma chave e o tipo dela depende das configurações aplicadas durante a criação do armazenamento
Retorno do Método add()
O método add()
IDBRequest
success
result
error
DOMException
onsuccess
onerror
A seguir, um exemplo de código que adiciona um registro ao armazenamento:
const request = indexedDB.open("test", 5); // Conecta-se à base de dados "test" na versão 5
// Durante a criação ou atualização da base de dados, cria o armazenamento "users"
request.onupgradeneeded = (event) => {
const db = event.target.result; // Obtém a instância da base de dados
db.createObjectStore("users", { keyPath: "id", autoIncrement: true }); // Define "id" como chave com autoIncrement ativo
};
// Após abrir a base de dados, adiciona um registro ao armazenamento "users"
request.onsuccess = (event) => {
const db = event.target.result; // Obtém a base de dados
const transaction = db.transaction(["users"], "readwrite"); // Cria uma transação
const userStore = transaction.objectStore("users"); // Obtém o armazenamento "users"
const tom = { name: "Tom", age: 39 };
const addRequest = userStore.add(tom); // Adiciona o registro ao armazenamento
addRequest.onsuccess = (event) => {
console.log("Dados adicionados com sucesso");
console.log("ID do registro adicionado:", addRequest.result); // Exibe o ID gerado
};
};
Neste exemplo, a base de dados "test"
users
id
id
Para adicionar múltiplos registros ao armazenamento, basta chamar o método add()
const bob = { name: "Bob", age: 43 };
const sam = { name: "Sam", age: 28 };
userStore.add(bob);
userStore.add(sam);
É importante ressaltar que o método add()
Visualização no navegador
Navegadores modernos permitem inspecionar o conteúdo do IndexedDB usando ferramentas de desenvolvedor. No Google Chrome, essa funcionalidade está na aba Applicativo (Application), na seção Armazenamento (Storage) -> IndexedDB.