diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/api/idbcursor | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/api/idbcursor')
-rw-r--r-- | files/ja/web/api/idbcursor/advance/index.html | 130 | ||||
-rw-r--r-- | files/ja/web/api/idbcursor/continue/index.html | 129 | ||||
-rw-r--r-- | files/ja/web/api/idbcursor/index.html | 128 |
3 files changed, 387 insertions, 0 deletions
diff --git a/files/ja/web/api/idbcursor/advance/index.html b/files/ja/web/api/idbcursor/advance/index.html new file mode 100644 index 0000000000..c23a16513a --- /dev/null +++ b/files/ja/web/api/idbcursor/advance/index.html @@ -0,0 +1,130 @@ +--- +title: IDBCursor.advance() +slug: Web/API/IDBCursor/advance +tags: + - API + - Database + - IDBCursor + - IndexedDB + - Method + - Reference + - Storage + - advance +translation_of: Web/API/IDBCursor/advance +--- +<p>{{APIRef("IndexedDB")}}</p> + +<p>{{domxref("IDBCursor")}} インターフェイスの <strong><code>advance()</code></strong> メソッドはカーソルが位置を前進させる回数をセットします。</p> + +<p>{{AvailableInWorkers}}</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>cursor</em>.advance(<em>count</em>);</pre> + +<h3 id="Parameters" name="Parameters">パラメータ</h3> + +<dl> + <dt>count</dt> + <dd>カーソルが前進する回数</dd> +</dl> + +<h3 id="Return_Value" name="Return_Value">戻り値</h3> + +<p>{{jsxref('undefined')}}</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p><span style="line-height: 1.5;">このメソッドは次のいずれかの {{domxref("DOMException")}} を発生することがあります:</span></p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>TransactionInactiveError</code></td> + <td>この IDBCursor のトランザクションは活性化していません。</td> + </tr> + <tr> + <td><code>TypeError</code></td> + <td><code>count</code> パラメーターに渡された値がゼロや負の数です。</td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>カーソルは現在繰り返し中か、最後を過ぎています。<br> + </td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>このシンプルな断片でトランザクションを作成し、オブジェクトストアを取得し、オブジェクトストアのレコードを一通り繰り返すカーソルを使っています。ここで <code>cursor.advance(2)</code> を使ってそれぞれ 2 回前進していて、つまり 1 つおきの結果だけが表示されます。<code>advance()</code> は {{domxref("IDBCursor.continue")}} と同様に動作しますが、常に次のレコードに移動するのでなく、一度に複数のレコードを飛び越えられるのが違います。</p> + +<p><span style="line-height: 1.5;">注意点としてループの繰り返しで、カーソルオブジェクトの現在のレコードのテータを </span><code style="font-style: normal; line-height: 1.5;">cursor.value.foo</code><span style="line-height: 1.5;">を使って取得できます。完全な動作例は、<a href="https://github.com/mdn/IDBcursor-example/">IDBCursor の例</a></span><span style="line-height: 1.5;">(</span><a href="http://mdn.github.io/IDBcursor-example/" style="line-height: 1.5;">ライブ例を見る</a><span style="line-height: 1.5;">)を見てください。</span></p> + +<pre class="brush: js"><span class="brush: js" style="line-height: 1.5;">function advanceResult() {</span> + list.innerHTML = ''; + var transaction = db.transaction(['rushAlbumList'], "readonly"); + var objectStore = transaction.objectStore('rushAlbumList'); + + objectStore.openCursor().onsuccess = function(event) { + var cursor = event.target.result; + if(cursor) { + var listItem = document.createElement('li'); + listItem.innerHTML = '<strong>' + cursor.value.albumTitle + '</strong>, ' + cursor.value.year; + list.appendChild(listItem); + cursor.advance(2); + } else { + console.log('Every other entry displayed.'); + } + }; +};</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th>仕様書</th> + <th>策定状況</th> + <th>コメント</th> + </tr> + <tr> + <td>{{SpecName('IndexedDB', '#widl-IDBCursor-advance-void-unsigned-long-count', 'advance()')}}</td> + <td>{{Spec2('IndexedDB')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName("IndexedDB 2", "#dom-idbcursor-advance", "advance()")}}</td> + <td>{{Spec2("IndexedDB 2")}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> + +<div> +<div> + + +<p>{{Compat("api.IDBCursor.advance")}}</p> +</div> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB">IndexedDB を使用する</a></li> + <li>トランザクションを開始する: {{domxref("IDBDatabase")}}</li> + <li>トランザクションを使用する: {{domxref("IDBTransaction")}}</li> + <li>キーレンジを設定する: {{domxref("IDBKeyRange")}}</li> + <li>データの取得と変更: {{domxref("IDBObjectStore")}}</li> + <li>カーソルを使用する: {{domxref("IDBCursor")}}</li> + <li>リファレンスの例: <a class="external" href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a class="external" href="http://mdn.github.io/to-do-notifications/">ライブ例を見る</a>。)</li> +</ul> diff --git a/files/ja/web/api/idbcursor/continue/index.html b/files/ja/web/api/idbcursor/continue/index.html new file mode 100644 index 0000000000..eb671e3487 --- /dev/null +++ b/files/ja/web/api/idbcursor/continue/index.html @@ -0,0 +1,129 @@ +--- +title: IDBCursor.continue() +slug: Web/API/IDBCursor/continue +tags: + - API + - Database + - IDBCursor + - IndexedDB + - Reference + - continue + - ストレージ + - メソッド +translation_of: Web/API/IDBCursor/continue +--- +<div>{{APIRef("IndexedDB")}}</div> + +<p><strong><code>continue()</code></strong> は {{domxref("IDBCursor")}} インターフェースのメソッドで、カーソルを現在の方向に次の位置、任意のキーパラメーターに一致するキーを持つアイテムまで進めます。キーを指定しない場合、カーソルはその方向に基づいて、すぐ隣の位置へ進みます。</p> + +<p>{{AvailableInWorkers}}</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><var>cursor</var>.continue(<var>key</var>);</pre> + +<h3 id="Parameters" name="Parameters">引数</h3> + +<dl> + <dt><code><var>key</var></code> {{optional_inline}}</dt> + <dd>カーソルを進めるためのキーです。</dd> +</dl> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>このメソッドは次の内いずれかの {{domxref("DOMException")}} を発生させることがあります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">解説</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>TransactionInactiveError</code></td> + <td>この IDBCursor のトランザクションがアクティブではありません。</td> + </tr> + <tr> + <td><code>DataError</code></td> + <td> + <p>キーパラメーターが以下の状態のうちのいずれかである可能性があります。</p> + + <ul> + <li>キーが妥当なキーではない</li> + <li>キーがこのカーソルの位置と同じかそれより小さく、カーソルの方向が <code>next</code> または <code>nextunique</code> である</li> + <li>キーがこのカーソルの位置と同じかそれより大きく、カーソルの方向が <code>prev</code> または <code>prevunique</code> である</li> + </ul> + </td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>カーソルが現在走査中または末尾を越えて走査しました。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>この単純で部分的な実例ではトランザクションを作り、オブジェクトストアを取得した後、オブジェクトストア内の全ての反復処理するためカーソルを使用しています。カーソルはキーに基づいてデータを選択するには必要ありません。その全てを捕らえることができます。また、それぞれのループ内での繰り返しでカーソルオブジェクトを用い、 <code>cursor.value.foo</code> とすることで、現在のレコードからカーソルの下のデータを取得できることには注目です。完全な例については <a href="https://github.com/mdn/indexeddb-examples/tree/master/idbcursor">IDBCursor の例</a> (<a href="https://mdn.github.io/indexeddb-examples/idbcursor/">ライブデモを見る</a>) を参照してください。</p> + +<pre>function displayData() { + var transaction = db.transaction(['rushAlbumList'], "readonly"); + var objectStore = transaction.objectStore('rushAlbumList'); + + objectStore.openCursor().onsuccess = function(event) { + var cursor = event.target.result; + if(cursor) { + var listItem = document.createElement('li'); + listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year; + list.appendChild(listItem); + + cursor.continue(); + } else { + console.log('Entries all displayed.'); + } + }; +};</pre> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('IndexedDB', '#widl-IDBCursor-continue-void-any-key', 'continue()')}}</td> + <td>{{Spec2('IndexedDB')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName("IndexedDB 2", "#dom-idbcursor-continue", "continue()")}}</td> + <td>{{Spec2("IndexedDB 2")}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("api.IDBCursor.continue")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB">Using IndexedDB</a></li> + <li>トランザクションの開始: {{domxref("IDBDatabase")}}</li> + <li>トランザクションを使う: {{domxref("IDBTransaction")}}</li> + <li>キーの範囲設定: {{domxref("IDBKeyRange")}}</li> + <li>データの取得と変更: {{domxref("IDBObjectStore")}}</li> + <li>カーソルを使う: {{domxref("IDBCursor")}}</li> + <li>リファレンス 実例: <a class="external" href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a class="external" href="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li> +</ul> diff --git a/files/ja/web/api/idbcursor/index.html b/files/ja/web/api/idbcursor/index.html new file mode 100644 index 0000000000..7b024be836 --- /dev/null +++ b/files/ja/web/api/idbcursor/index.html @@ -0,0 +1,128 @@ +--- +title: IDBCursor +slug: Web/API/IDBCursor +tags: + - API + - Database + - IDBCursor + - IndexedDB + - Interface + - NeedsTranslation + - Reference + - Storage + - TopicStub +translation_of: Web/API/IDBCursor +--- +<p>{{APIRef("IndexedDB")}}</p> + +<p><a href="/ja/docs/IndexedDB">IndexedDB API</a> の <strong><code>IDBCursor</code></strong> インターフェイスはデータベースの複数レコードを横断したり繰り返すための<a href="/ja/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#gloss_cursor">カーソル</a>です。</p> + +<p>このカーソルはどのインデックスやオブジェクトをループしているかを示す元です。これは範囲内の位置を示す持ち、レコードのキー順に増/減して動きます。カーソルはアプリケーションからカーソル範囲内の全レコードに非同期に処理できるようにします。</p> + +<p>一度に無制限の数のカーソルを持つことができます。あるカーソルを表す同一の <code>IDBCursor</code> オブジェクトを取得できます。操作はインデックスやオブジェクトストアに対して実行されます。</p> + +<p>{{AvailableInWorkers}}</p> + +<h2 id="Properties" name="Properties">プロパティ</h2> + +<dl> + <dt>{{domxref("IDBCursor.source")}} {{readonlyInline}}</dt> + <dd>カーソルが繰り返している{{domxref("IDBObjectStore")}} か {{domxref("IDBIndex")}} を返します。この関数は、カーソルが現在繰り返されていたり、繰り返しが終わりを過ぎたり、トランザクションがアクティブでなくても、null や例外を返しません。</dd> + <dt>{{domxref("IDBCursor.direction")}} {{readonlyInline}}</dt> + <dd>カーソルの横断の向きを返します。取りうる値については <a href="https://developer.mozilla.org/ja/docs/Web/API/IDBCursor$edit#const_next">Constants</a> を見てください。</dd> + <dt>{{domxref("IDBCursor.key")}} {{readonlyInline}}</dt> + <dd>カーソル位置のレコードのキーを返します。カーソルが範囲外の場合、<code>undefined</code> にセットされます。カーソルキーはあらゆるデータ型となりえます。</dd> + <dt>{{domxref("IDBCursor.value")}} {{readonlyInline}}</dt> + <dd>カーソル位置のレコードの値を返します。カーソルの値はあらゆるデータ型となりえます。</dd> + <dt>{{domxref("IDBCursor.primaryKey")}} {{readonlyInline}}</dt> + <dd>カーソルの現在有効な主キーを返します。カーソルが現在繰り返されていたり範囲外で繰り返されていた場合、これは <code>undefined</code> にセットされます。カーソルの主キーはあらゆるデータ型となりえます。</dd> +</dl> + +<h2 id="Methods" name="Methods">メソッド</h2> + +<dl> + <dt>{{domxref("IDBCursor.advance()")}}</dt> + <dd>Sets the number times a cursor should move its position forward.</dd> + <dt>{{domxref("IDBCursor.continue()")}}</dt> + <dd>Advances the cursor to the next position along its direction, to the item whose key matches the optional <code>key</code> parameter.</dd> + <dt>{{domxref("IDBCursor.continuePrimaryKey()")}}</dt> + <dd>Sets the cursor to the given index key and primary key given as arguments.</dd> + <dt>{{domxref("IDBCursor.delete()")}}</dt> + <dd>Returns an {{domxref("IDBRequest")}} object, and, in a separate thread, deletes the record at the cursor's position, without changing the cursor's position. This can be used to delete specific records.</dd> + <dt>{{domxref("IDBCursor.update()")}}</dt> + <dd>Returns an {{domxref("IDBRequest")}} object, and, in a separate thread, updates the value at the current position of the cursor in the object store. This can be used to update specific records.</dd> +</dl> + +<h2 id="Constants" name="Constants">Constants</h2> + +<div>{{ deprecated_header(13) }}</div> + +<div class="warning"> +<p>これらの constants は利用できません — Gecko 25 で削除されました。代わりに直接 string constants を使う必要があります。({{ bug(891944) }})</p> +</div> + +<ul> + <li><code>NEXT </code>: <code>"next"</code> : The cursor shows all records, including duplicates. It starts at the lower bound of the key range and moves upwards (monotonically increasing in the order of keys).</li> + <li><code>NEXTUNIQUE</code> : <code>"nextunique"</code> : The cursor shows all records, excluding duplicates. If multiple records exist with the same key, only the first one iterated is retrieved. It starts at the lower bound of the key range and moves upwards.</li> + <li><code>PREV </code>: <code>"prev"</code> : The cursor shows all records, including duplicates. It starts at the upper bound of the key range and moves downwards (monotonically decreasing in the order of keys).</li> + <li><code>PREVUNIQUE </code>: <code>"prevunique"</code> : The cursor shows all records, excluding duplicates. If multiple records exist with the same key, only the first one iterated is retrieved. It starts at the upper bound of the key range and moves downwards.</li> +</ul> + +<h2 id="Example" name="Example">例</h2> + +<p>In this simple fragment we create a transaction, retrieve an object store, then use a cursor to iterate through all the records in the object store. T<span style="line-height: 1.5;">he cursor does not require us to select the data based on a key; we can just grab all of it. Also note that in each iteration of the loop, you can grab data from the current record under the cursor object using </span><code style="font-style: normal; line-height: 1.5;">cursor.value.foo</code><span style="line-height: 1.5;">. For a complete working example, see our <a href="https://github.com/mdn/IDBcursor-example/">IDBCursor example</a></span><span style="line-height: 1.5;"> (</span><a href="http://mdn.github.io/IDBcursor-example/" style="line-height: 1.5;">view example live</a><span style="line-height: 1.5;">.)</span></p> + +<pre class="brush: js"><span style="line-height: 1.5;">function displayData() {</span> + var transaction = db.transaction(['rushAlbumList'], "readonly"); + var objectStore = transaction.objectStore('rushAlbumList'); + + objectStore.openCursor().onsuccess = function(event) { + var cursor = event.target.result; + if(cursor) { + var listItem = document.createElement('li'); + listItem.innerHTML = cursor.value.albumTitle + ', ' + cursor.value.year; + list.appendChild(listItem); + + cursor.continue(); + } else { + console.log('Entries all displayed.'); + } + }; +}</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様書</th> + <th scope="col">策定状況</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('IndexedDB', '#idl-def-IDBCursor', 'cursor')}}</td> + <td>{{Spec2('IndexedDB')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2> + +<div> + + +<p>{{Compat("api.IDBCursor")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB">IndexedDB を使用する</a></li> + <li>トランザクションを開始する: {{domxref("IDBDatabase")}}</li> + <li>トランザクションを使用する: {{domxref("IDBTransaction")}}</li> + <li>キーの範囲をセットする: {{domxref("IDBKeyRange")}}</li> + <li>データを取得、変更する: {{domxref("IDBObjectStore")}}</li> + <li>カーソルを使用する: {{domxref("IDBCursor")}}</li> + <li>リファレンスの例: <a class="external" href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a class="external" href="http://mdn.github.io/to-do-notifications/">view example live</a>.)</li> +</ul> |