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;

返回:

任何