表示 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;
返回:
任何