docs.rodeo

MDN Web Docs mirror

IDBFactory: open() method

{{APIRef("IndexedDB")}}  {{AvailableInWorkers}} 

The open() method of the {{domxref("IDBFactory")}}  interface requests opening a connection to a database.

The method returns an {{domxref("IDBOpenDBRequest")}}  object immediately, and performs the open operation asynchronously. If the operation is successful, a success event is fired on the request object that is returned from this method, with its result attribute set to the new {{domxref("IDBDatabase")}}  object for the connection.

May trigger upgradeneeded, blocked or versionchange events.

Syntax

open(name)
open(name, version)

Parameters

Return value

A {{domxref("IDBOpenDBRequest")}}  object on which subsequent events related to this request are fired.

If the operation is successful, the value of the request’s {{domxref("IDBRequest.result", "result")}}  property is a {{domxref("IDBDatabase")}}  object representing the connection to the database.

Exceptions

Examples

Example of calling open with the current specification’s version parameter:

const request = window.indexedDB.open("toDoList", 4);

In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (View the example live).

const note = document.querySelector("ul");

// Let us open version 4 of our database
const DBOpenRequest = window.indexedDB.open("toDoList", 4);

// these two event handlers act on the database being opened
// successfully, or not
DBOpenRequest.onerror = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Error loading database.";
};

DBOpenRequest.onsuccess = (event) => {
  note.appendChild(document.createElement("li")).textContent =
    "Database initialized.";

  // store the result of opening the database in the db
  // variable. This is used a lot later on, for opening
  // transactions and suchlike.
  db = DBOpenRequest.result;
};

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN