IDBObjectStore: name プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
IDBObjectStore
インターフェイスの name
プロパティは、このオブジェクトストアの名前を表します。
メモ: この機能はウェブワーカー内で利用可能です。
値
このオブジェクトストアの名前を表す文字列です。
例外
オブジェクトストアの名前を変更しようとすると、以下の例外が発生する可能性があります。
InvalidStateError
DOMException
-
オブジェクトストアが削除済か、現在のトランザクションがアップグレードトランザクションでないとき投げられます。インデックスの名前の変更はアップグレードトランザクション (
versionchange
モード) でのみ可能です。 TransactionInactiveError
DOMException
-
現在のトランザクションが実行中でないとき投げられます。
ConstraintError
DOMException
-
オブジェクトストアで既に指定された
name
が使用中のとき投げられます。
例
以下のコード断片では、データベースの読み書きトランザクションを開き、add()
を用いてデータをオブジェクトストアに追加します。オブジェクトストアの生成後、コンソールに objectStore.name
を記録します。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)
js
// データベースを開く const DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = (event) => { note.innerHTML += "<li>データベースを初期化しました。</li>"; // データベースを開いた結果を変数 db に格納する // これは後でよく使う db = DBOpenRequest.result; // addData() 関数を実行し、データをデータベースに追加する addData(); }; function addData() { // IDB に挿入できる新しいオブジェクトを生成する const newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no", }, ]; // 読み書きトランザクションを開き、データを追加する準備をする const transaction = db.transaction(["toDoList"], "readwrite"); // すべて完了し、トランザクションが正常終了したら報告する transaction.oncomplete = (event) => { note.innerHTML += "<li>トランザクションが完了しました。</li>"; }; transaction.onerror = (event) => { note.innerHTML += "<li>トランザクションはエラーのため開けませんでした。アイテムは重複させられません。</li>"; }; // トランザクション上でオブジェクトストアを生成する const objectStore = transaction.objectStore("toDoList"); console.log(objectStore.name); // オブジェクトストアに newItem オブジェクトを追加する要求を行う const objectStoreRequest = objectStore.add(newItem[0]); objectStoreRequest.onsuccess = (event) => { // 要求の成功を報告する note.innerHTML += "<li>要求に成功しました。</li>"; }; }
仕様書
Specification |
---|
Indexed Database API 3.0> # ref-for-dom-idbobjectstore-name①> |
ブラウザーの互換性
Loading…
関連情報
- IndexedDB の使用
- トランザクションの開始:
IDBDatabase
- トランザクションの使用:
IDBTransaction
- キー範囲の設定:
IDBKeyRange
- データの取得と変更:
IDBObjectStore
- カーソルの使用:
IDBCursor
- リファレンス例: To-do Notifications (動く例を見る)