1. 開発者向けのウェブ技術
  2. Web API
  3. IDBObjectStore
  4. IDBObjectStore: indexNames プロパティ

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

IDBObjectStore: indexNames プロパティ

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

IDBObjectStore インターフェイスの読み取り専用プロパティ indexNames は、オブジェクトストア内のオブジェクトに対するインデックスのリストを返します。

メモ: この機能はウェブワーカー内で利用可能です。

DOMStringList です。

以下のコード断片では、データベースの読み書きトランザクションを開き、add() を用いてデータをオブジェクトストアに追加します。オブジェクトストアの生成後、コンソールに objectStore.indexNames を記録します。動く例全体は、To-do Notifications アプリケーションを参照してください。(動く例を見る)

js
// データベースを開く
const DBOpenRequest = window.indexedDB.open("toDoList", 4);
DBOpenRequest.onsuccess = (event) => {
 note.innerHTML += "<li>データベースを初期化しました。</li>";
 // データベースを開いた結果を変数 db に格納する
 // これは後でよく使う
 db = this.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.indexNames);
 // オブジェクトストアに newItem オブジェクトを追加する要求を行う
 const objectStoreRequest = objectStore.add(newItem[0]);
 objectStoreRequest.onsuccess = (event) => {
 // 要求の成功を報告する
 note.innerHTML += "<li>要求に成功しました。</li>";
 };
}

仕様書

仕様書
Indexed Database API 3.0
# ref-for-dom-idbobjectstore-indexnames1

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /