DataSnapshot class

DataSnapshot には、データベースのロケーションのデータが含まれています。

データベースからデータを読み取るたびに、データは DataSnapshot として受け取ります。DataSnapshot は、on() または once() でアタッチするイベント コールバックに渡されます。スナップショットの内容を JavaScript オブジェクトとして抽出するには、val() メソッドを呼び出します。または、child() を呼び出してスナップショットをトラバースすることもできます(子スナップショットに対して val() を呼び出すことができます)。

DataSnapshot は、データベースのロケーションに効率的に生成される不変のデータのコピーです。変更できず、変更されることはありません(データを変更する場合は、必ず Referenceset() メソッドを直接呼び出します)。

署名:

export declare class DataSnapshot 

プロパティ

プロパティ 修飾キー タイプ 説明
key 文字列 |null この DataSnapshot のロケーションのキー(パスの最後の部分)。データベースのロケーションの最後のトークンがキーとみなされます。例: 「ada」/users/ada/ ノードのキーです。任意の DataSnapshot で鍵にアクセスすると、それを生成した場所の鍵が返されます。ただし、データベースのルート URL でキーにアクセスすると、null が返されます。
優先度 文字列 |数値 |null この DataSnapshot 内のデータの優先度値を取得します。アプリケーションで優先度を使用する必要はありませんが、通常のプロパティでコレクションを並べ替えることができます(データの並べ替えとフィルタをご覧ください)。
参照 DatabaseReference この DataSnapshot の場所。
size 数値 この DataSnapshot の子プロパティの数を返します。

メソッド

メソッド 修飾キー 説明
子(パス) 指定された相対パスのロケーションの別の DataSnapshot を取得します。DataSnapshot の child() メソッドに相対パスを渡すと、指定された相対パスのロケーションの別の DataSnapshot が返されます。相対パスには、単純な子名(「ada」など)か、より深いスラッシュで区切られたパス(「ada/name/first」など)を指定できます。子の場所にデータがない場合は、空の DataSnapshot(値が nullDataSnapshot)が返されます。
exists() この DataSnapshot にデータが含まれている場合、true を返します。これは、snapshot.val() !== null を使用するよりも若干効率的です。
exportVal() DataSnapshot のコンテンツ全体を JavaScript オブジェクトとしてエクスポートします。exportVal() メソッドは val() と似ていますが、優先度情報が含まれている点(利用可能な場合)で、データのバックアップに適しています。
forEach(アクション) IteratedDataSnapshot 内の最上位の子を列挙します。JavaScript オブジェクトの動作の性質上、val() によって返される JavaScript オブジェクト内のデータの順序は、サーバー上の順序や onChildAdded() イベントの順序と一致する保証はありません。このような場合に役立つのが forEach() です。DataSnapshot の子がクエリ順に反復処理されることが保証されます。明示的な orderBy*() メソッドを使用しない場合、結果はキー順に返されます(優先度が使用されている場合、結果は優先度によって返されます)。
hasChild(path) 指定された子パスに null 以外のデータがある場合、true を返します。
hasChildren() DataSnapshotnull 以外の子プロパティがあるかどうかを返します。hasChildren() を使用すると、DataSnapshot に子プロパティがあるかどうかを確認できます。存在する場合は、forEach() を使用して列挙できます。存在しない場合、このスナップショットにはプリミティブ値(val() で取得可能)が含まれているか、空(この場合、val()null を返します)のいずれかになります。
toJSON() このオブジェクトの JSON シリアル化可能な表現を返します。
val() DataSnapshot から JavaScript 値を抽出します。DataSnapshot のデータに応じて、val() メソッドはスカラー型(文字列、数値、ブール値)、配列、またはオブジェクトを返します。また、DataSnapshot が空(データが含まれない)であることを示す null が返されることもあります。

DataSnapshot.key

この DataSnapshot の場所のキー(パスの最後の部分)。

データベースのロケーション内の最後のトークンがそのキーとみなされます。例: 「ada」/users/ada/ ノードのキーです。任意の DataSnapshot で鍵にアクセスすると、それを生成した場所の鍵が返されます。ただし、データベースのルート URL のキーにアクセスすると、null が返されます。

署名:

get key(): string | null;

データスナップショットの優先値

この DataSnapshot 内のデータの優先度値を取得します。

アプリケーションで優先度を使用する必要はありませんが、コレクションを通常のプロパティで並べ替えることができます(データの並べ替えとフィルタをご覧ください)。

署名:

get priority(): string | number | null;

DataSnapshot.ref

この DataSnapshot の場所。

署名:

readonly ref: DatabaseReference;

DataSnapshot.size

この DataSnapshot の子プロパティの数を返します。

署名:

get size(): number;

DataSnapshot.child()

指定された相対パスにあるロケーションの別の DataSnapshot を取得します。

DataSnapshot の child() メソッドに相対パスを渡すと、指定された相対パスの場所の別の DataSnapshot が返されます。相対パスには、単純な子名(「ada」など)か、より深いスラッシュで区切られたパス(「ada/name/first」など)を指定できます。子の場所にデータがない場合は、空の DataSnapshot(値が nullDataSnapshot)が返されます。

署名:

child(path: string): DataSnapshot;

パラメータ

パラメータ 説明
パス 文字列 子データの場所への相対パス。

戻り値:

DataSnapshot

DataSnapshot.exists()

この DataSnapshot にデータが含まれている場合、true を返します。これは、snapshot.val() !== null を使用するよりも若干効率的です。

署名:

exists(): boolean;

戻り値:

ブール値

DataSnapshot.exportVal()

DataSnapshot のコンテンツ全体を JavaScript オブジェクトとしてエクスポートします。

exportVal() メソッドは val() に似ていますが、優先度情報(利用可能な場合)が含まれているため、データのバックアップに適しています。

署名:

exportVal(): any;

戻り値:

任意

JavaScript 値(オブジェクト、配列、文字列、数値、ブール値、null)で表される DataSnapshot のコンテンツ。

DataSnapshot.forEach()

IteratedDataSnapshot 内の最上位の子を列挙します。

JavaScript オブジェクトの動作の性質上、val() によって返される JavaScript オブジェクト内のデータの順序が、サーバー上の順序や onChildAdded() イベントの順序と一致するとは限りません。このような場合に役立つのが forEach() です。DataSnapshot の子がクエリ順序で反復されることが保証されます。

明示的な orderBy*() メソッドが使用されていない場合、結果はキー順に返されます(優先度が使用されている場合、結果は優先度によって返されます)。

署名:

forEach(action: (child: IteratedDataSnapshot) => boolean | void): boolean;

パラメータ

パラメータ 説明
アクション (子: IteratedDataSnapshot)=>ブール値 |無効 子 DataSnapshot ごとに呼び出される関数。このコールバックは true を返して、追加の列挙をキャンセルできます。

戻り値:

ブール値

コールバックが true を返したことで列挙がキャンセルされた場合は true。

DataSnapshot.hasChild()

指定された子パスに null 以外のデータがある場合、true を返します。

署名:

hasChild(path: string): boolean;

パラメータ

パラメータ 説明
パス 文字列 子の場所の相対パス。

戻り値:

ブール値

指定された子パスにデータが存在する場合は true。else false

DataSnapshot.hasChildren()

DataSnapshotnull 以外の子プロパティがあるかどうかを返します。

hasChildren() を使用すると、DataSnapshot に子があるかどうかを判断できます。存在する場合は、forEach() を使用して列挙できます。存在しない場合、このスナップショットにはプリミティブ値(val() で取得可能)が含まれているか、空です(この場合、val()null を返します)。

署名:

hasChildren(): boolean;

戻り値:

ブール値

このスナップショットに子がある場合は trueそうでない場合は false です。

DataSnapshot.toJSON()

このオブジェクトの JSON シリアル化可能な表現を返します。

署名:

toJSON(): object | null;

戻り値:

オブジェクト |null

DataSnapshot.val()

DataSnapshot から JavaScript 値を抽出します。

DataSnapshot 内のデータに応じて、val() メソッドはスカラー型(文字列、数値、ブール値)、配列、またはオブジェクトを返します。また、DataSnapshot が空(データが含まれない)であることを示す null が返されることもあります。

署名:

val(): any;

戻り値:

任意

JavaScript 値(オブジェクト、配列、文字列、数値、ブール値、null)で表される DataSnapshot のコンテンツ。