database.DataSnapshot class

表示 Firebase 实时数据库数据快照的接口。

签名:

export declare class DataSnapshot implements database.DataSnapshot 

实现: database.DataSnapshot

构造函数

构造函数修饰符描述
(构造函数)(数据、路径、应用程序、实例)构造DataSnapshot类的新实例

特性

财产修饰符类型描述
实例细绳
钥匙字符串|无效的DataSnapshot位置的键(路径的最后部分)。数据库位置中的最后一个标记被视为其密钥。例如,“ada”是/users/ada/节点的键。访问任何DataSnapshot上的密钥都会返回生成该密钥的位置的密钥。但是,访问数据库根 URL 上的键会返回null
参考数据库.参考将 [ Reference ](/docs/reference/admin/node/admin.database.Reference) 返回到发生触发写入的数据库位置。具有完全的读写访问权限。

方法

方法修饰符描述
孩子(孩子路径)获取指定相对路径位置的DataSnapshot相对路径可以是简单的子名称(例如“ada”),也可以是更深的斜杠分隔路径(例如“ada/name/first”)。
存在()如果此DataSnapshot包含任何数据,则返回true 。它比使用snapshot.val() !== null稍微高效一些。如果此DataSnapshot包含任何数据,则为true ;否则为false
导出值()DataSnapshot的全部内容导出为 JavaScript 对象。 DataSnapshot的内容作为 JavaScript 值(对象、数组、字符串、数字、布尔值或null )。
对于每个(动作)枚举子项的DataSnapshot由于 JavaScript 对象的工作方式, val()返回的 JavaScript 对象中的数据顺序不能保证与服务器上的顺序或child_added事件的顺序相匹配。这就是forEach()派上用场的地方。它保证DataSnapshot的子级可以按其查询顺序进行迭代。如果未使用显式orderBy*()方法,则返回按键排序的结果(除非使用优先级,在这种情况下,按优先级返回结果)。
获取优先级()获取此DataSnapshot中数据的优先级值。作为使用优先级的替代方法,应用程序可以按普通属性对集合进行排序。请参阅[排序和过滤数据](/docs/database/web/lists-of-data#sorting_and_filtering_data)。数据的优先级值。
hasChild(子路径)如果指定的子路径具有(非null )数据,则返回true
有孩子()返回DataSnapshot是否具有任何非null子属性。您可以使用hasChildren()来确定DataSnapshot是否有任何子级。如果是,您可以使用forEach()枚举它们。如果没有,则此快照要么包含原始值(可以使用val()检索),要么为空(在这种情况下, val()返回null )。如果此快照有任何子项,则为true ;否则false
numChildren()返回此DataSnapshot的子属性的数量。此DataSnapshot的子属性数。
toJSON()返回此对象的 JSON 可序列化表示形式。该对象的 JSON 可序列化表示。
值()DataSnapshot中提取 JavaScript 值。根据DataSnapshot中的数据, val()方法可能返回标量类型(字符串、数字或布尔值)、数组或对象。它还可能返回null ,表示DataSnapshot为空(不包含数据)。快照的内容作为 JavaScript 值(对象、数组、字符串、数字、布尔值或null )。

数据库.DataSnapshot.(构造函数)

构造DataSnapshot类的新实例

签名:

constructor(data: any, path?: string, // path is undefined for the database root
    app?: App, instance?: string);

参数

范围类型描述
数据任何
小路细绳
应用程序应用程序
实例细绳

数据库.DataSnapshot.实例

签名:

instance: string;

数据库.DataSnapshot.key

DataSnapshot位置的键(路径的最后部分)

数据库位置中的最后一个标记被视为其密钥。例如,“ada”是/users/ada/节点的键。访问任何DataSnapshot上的密钥都会返回生成该密钥的位置的密钥。但是,访问数据库根 URL 上的键会返回null

签名:

get key(): string | null;

数据库.DataSnapshot.ref

返回一个 [ Reference ](/docs/reference/admin/node/admin.database.Reference) 到发生触发写入的数据库位置。具有完全的读写访问权限。

签名:

get ref(): database.Reference;

数据库.DataSnapshot.child()

获取指定相对路径位置的DataSnapshot

相对路径可以是简单的子名称(例如“ada”),也可以是更深的斜杠分隔路径(例如“ada/name/first”)。

签名:

child(childPath: string): DataSnapshot;

参数

范围类型描述
子路径细绳

返回:

数据快照

数据库.DataSnapshot.exists()

如果此DataSnapshot包含任何数据,则返回true 。它比使用snapshot.val() !== null稍微高效一些

如果此DataSnapshot包含任何数据,则为true ;否则为false

签名:

exists(): boolean;

返回:

布尔值

数据库.DataSnapshot.exportVal()

DataSnapshot的全部内容导出为 JavaScript 对象。

DataSnapshot的内容作为 JavaScript 值(对象、数组、字符串、数字、布尔值或null )。

签名:

exportVal(): any;

返回:

任何

数据库.DataSnapshot.forEach()

枚举DataSnapshot儿童用品。

由于 JavaScript 对象的工作方式, val()返回的 JavaScript 对象中的数据顺序不能保证与服务器上的顺序或child_added事件的顺序相匹配。这就是forEach()派上用场的地方。它保证DataSnapshot的子级可以按其查询顺序进行迭代。

如果未使用显式orderBy*()方法,则返回按键排序的结果(除非使用优先级,在这种情况下,按优先级返回结果)。

签名:

forEach(action: (a: DataSnapshot) => boolean | void): boolean;

参数

范围类型描述
行动(一:数据快照) => 布尔值 |空白为每个子DataSnapshot调用的函数。回调可以返回true以取消进一步的枚举。如果由于回调返回true而取消枚举,则为true

返回:

布尔值

数据库.DataSnapshot.getPriority()

获取此DataSnapshot中数据的优先级值

作为使用优先级的替代方法,应用程序可以按普通属性对集合进行排序。请参阅[排序和过滤数据](/docs/database/web/lists-of-data#sorting_and_filtering_data)。

数据的优先级值。

签名:

getPriority(): string | number | null;

返回:

字符串|数量 |无效的

数据库.DataSnapshot.hasChild()

如果指定的子路径有( null true ) 数据。

签名:

hasChild(childPath: string): boolean;

参数

范围类型描述
子路径细绳

返回:

布尔值

数据库.DataSnapshot.hasChildren()

返回DataSnapshot是否具有任何非null子属性。

您可以使用hasChildren()来确定DataSnapshot是否有任何子级。如果是这样,您可以使用forEach()枚举它们。如果没有,则此快照包含一个原始值(可以使用val()检索该值) )或者为空(在这种情况下, val()返回null )。

如果此快照有任何子项,则为true ;否则为false

签名:

hasChildren(): boolean;

返回:

布尔值

数据库.DataSnapshot.numChildren()

返回此DataSnapshot的子属性的数量

DataSnapshot的子属性数量

签名:

numChildren(): number;

返回:

数字

数据库.DataSnapshot.toJSON()

返回此对象的 JSON 可序列化表示形式。

该对象的 JSON 可序列化表示。

签名:

toJSON(): Record<string, unknown>;

返回:

记录<字符串,未知>

数据库.DataSnapshot.val()

DataSnapshot中提取 JavaScript 值

取决于DataSnapshot中的数据val()方法可以返回标量类型(字符串、数字或布尔值)、数组或对象。也可能返回null ,表示DataSnapshot为空(不包含任何数据)。

快照的内容作为 JavaScript 值(对象、数组、字符串、数字、布尔值或null )。

签名:

val(): any;

返回:

任何