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