DataSnapshot class

DataSnapshot chứa dữ liệu từ một vị trí Cơ sở dữ liệu.

Bất cứ khi nào bạn đọc dữ liệu từ Cơ sở dữ liệu, bạn sẽ nhận được dữ liệu dưới dạng DataSnapshot . DataSnapshot được chuyển đến các lệnh gọi lại sự kiện mà bạn đính kèm bằng on() hoặc once() . Bạn có thể trích xuất nội dung của ảnh chụp nhanh dưới dạng đối tượng JavaScript bằng cách gọi phương thức val() . Ngoài ra, bạn có thể duyệt qua ảnh chụp nhanh bằng cách gọi child() để trả về các ảnh chụp nhanh con (sau đó bạn có thể gọi val() ).

DataSnapshot là bản sao dữ liệu không thể thay đổi, được tạo hiệu quả tại một vị trí Cơ sở dữ liệu. Nó không thể được sửa đổi và sẽ không bao giờ thay đổi (để sửa đổi dữ liệu, bạn luôn gọi trực tiếp phương thức set() trên Reference ).

Chữ ký:

export declare class DataSnapshot 

Của cải

Tài sản sửa đổi Kiểu Sự miêu tả
chìa khóa chuỗi | vô giá trị Khóa (phần cuối của đường dẫn) vị trí của DataSnapshot này. Mã thông báo cuối cùng trong vị trí Cơ sở dữ liệu được coi là khóa của nó. Ví dụ: "ada" là khóa cho nút /users/ada/. Việc truy cập khóa trên bất kỳ DataSnapshot nào sẽ trả về khóa cho vị trí đã tạo ra khóa đó. Tuy nhiên, việc truy cập khóa trên URL gốc của Cơ sở dữ liệu sẽ trả về null .
sự ưu tiên chuỗi | số | vô giá trị Nhận giá trị ưu tiên của dữ liệu trong DataSnapshot này. Các ứng dụng không cần sử dụng mức độ ưu tiên nhưng có thể sắp xếp các bộ sưu tập theo các thuộc tính thông thường (xem Sắp xếp và lọc dữ liệu ).
giới thiệu Cơ sở dữ liệuTham khảo Vị trí của DataSnapshot này.
kích cỡ con số Trả về số lượng thuộc tính con của DataSnapshot này.

phương pháp

Phương pháp sửa đổi Sự miêu tả
con (đường dẫn) Nhận một DataSnapshot khác cho vị trí tại đường dẫn tương đối đã chỉ định. Việc truyền một đường dẫn tương đối tới phương thức child() của DataSnapshot sẽ trả về một DataSnapshot khác cho vị trí tại đường dẫn tương đối đã chỉ định. Đường dẫn tương đối có thể là tên con đơn giản (ví dụ: "ada") hoặc đường dẫn sâu hơn, được phân tách bằng dấu gạch chéo (ví dụ: "ada/name/first"). Nếu vị trí con không có dữ liệu, một DataSnapshot trống (nghĩa là DataSnapshot có giá trị là null ) sẽ được trả về.
tồn tại() Trả về true nếu DataSnapshot này chứa bất kỳ dữ liệu nào. Nó hiệu quả hơn một chút so với việc sử dụng snapshot.val() !== null .
xuấtVal() Xuất toàn bộ nội dung của DataSnapshot dưới dạng đối tượng JavaScript. Phương thức exportVal() tương tự như val() , ngoại trừ thông tin ưu tiên được bao gồm (nếu có), khiến nó phù hợp để sao lưu dữ liệu của bạn.
forEach(hành động) Liệt kê các cấp độ con cao nhất trong IteratedDataSnapshot . Do cách thức hoạt động của các đối tượng JavaScript, nên thứ tự dữ liệu trong đối tượng JavaScript được trả về bởi val() không được đảm bảo khớp với thứ tự trên máy chủ cũng như thứ tự của các sự kiện onChildAdded() . Đó là lúc forEach() phát huy tác dụng. Nó đảm bảo các phần tử con của DataSnapshot sẽ được lặp lại theo thứ tự truy vấn của chúng. Nếu không sử dụng phương thức orderBy*() rõ ràng thì kết quả sẽ được trả về theo thứ tự khóa (trừ khi sử dụng mức độ ưu tiên, trong trường hợp đó, kết quả sẽ được trả về theo mức độ ưu tiên).
hasChild(đường dẫn) Trả về true nếu đường dẫn con được chỉ định có dữ liệu (không rỗng).
hasChildren() Trả về liệu DataSnapshot có bất kỳ thuộc tính con nào không null hay không. Bạn có thể sử dụng hasChildren() để xác định xem DataSnapshot có con nào không. Nếu có, bạn có thể liệt kê chúng bằng cách sử dụng forEach() . Nếu không, thì ảnh chụp nhanh này chứa một giá trị nguyên thủy (có thể được truy xuất bằng val() ) hoặc nó trống (trong trường hợp đó, val() sẽ trả về null ).
toJSON() Trả về một biểu diễn có thể tuần tự hóa JSON của đối tượng này.
val() Trích xuất một giá trị JavaScript từ DataSnapshot . Tùy thuộc vào dữ liệu trong DataSnapshot , phương thức val() có thể trả về kiểu vô hướng (chuỗi, số hoặc boolean), một mảng hoặc một đối tượng. Nó cũng có thể trả về null, cho biết DataSnapshot trống (không chứa dữ liệu).

DataSnapshot.key

Khóa (phần cuối của đường dẫn) vị trí của DataSnapshot này .

Mã thông báo cuối cùng trong vị trí Cơ sở dữ liệu được coi là khóa của nó. Ví dụ: "ada" là khóa cho nút /users/ada/. Việc truy cập khóa trên bất kỳ DataSnapshot nào sẽ trả về khóa cho vị trí đã tạo ra khóa đó. Tuy nhiên, việc truy cập khóa trên URL gốc của Cơ sở dữ liệu sẽ trả về null .

Chữ ký:

get key(): string | null;

DataSnapshot.priority

Lấy giá trị ưu tiên của dữ liệu trong DataSnapshot này .

Các ứng dụng không cần sử dụng mức độ ưu tiên nhưng có thể sắp xếp các bộ sưu tập theo các thuộc tính thông thường (xem Sắp xếp và lọc dữ liệu ).

Chữ ký:

get priority(): string | number | null;

DataSnapshot.ref

Vị trí của DataSnapshot này.

Chữ ký:

readonly ref: DatabaseReference;

DataSnapshot.size

Trả về số lượng thuộc tính con của DataSnapshot này .

Chữ ký:

get size(): number;

DataSnapshot.child()

Nhận một DataSnapshot khác cho vị trí tại đường dẫn tương đối đã chỉ định.

Việc truyền một đường dẫn tương đối tới phương thức child() của DataSnapshot sẽ trả về một DataSnapshot khác cho vị trí tại đường dẫn tương đối đã chỉ định. Đường dẫn tương đối có thể là tên con đơn giản (ví dụ: "ada") hoặc đường dẫn sâu hơn, được phân tách bằng dấu gạch chéo (ví dụ: "ada/name/first"). Nếu vị trí con không có dữ liệu, một DataSnapshot trống (nghĩa là một DataSnapshot có giá trị null ) Được trả lại.

Chữ ký:

child(path: string): DataSnapshot;

Thông số

Tham số Kiểu Sự miêu tả
con đường sợi dây Đường dẫn tương đối đến vị trí của dữ liệu con.

Trả về:

Ảnh chụp nhanh dữ liệu

DataSnapshot.exists()

Trả về true nếu DataSnapshot này chứa bất kỳ dữ liệu nào. Nó hiệu quả hơn một chút so với việc sử dụng snapshot.val() !== null .

Chữ ký:

exists(): boolean;

Trả về:

boolean

DataSnapshot.exportVal()

Xuất toàn bộ nội dung của DataSnapshot dưới dạng đối tượng JavaScript.

Phương thức exportVal() tương tự như val() , ngoại trừ thông tin ưu tiên được bao gồm (nếu có), giúp nó phù hợp để sao lưu dữ liệu của bạn.

Chữ ký:

exportVal(): any;

Trả về:

bất kì

Nội dung của DataSnapshot dưới dạng giá trị JavaScript (Đối tượng, Mảng, chuỗi, số, boolean hoặc null ).

DataSnapshot.forEach()

Liệt kê các cấp độ con cao nhất trong IteratedDataSnapshot .

Do cách thức hoạt động của các đối tượng JavaScript, nên thứ tự dữ liệu trong đối tượng JavaScript được trả về bởi val() không được đảm bảo khớp với thứ tự trên máy chủ cũng như thứ tự của các sự kiện onChildAdded() . Đó là lúc forEach() phát huy tác dụng. Nó đảm bảo các phần tử con của DataSnapshot sẽ được lặp lại theo thứ tự truy vấn của chúng.

Nếu không sử dụng phương thức orderBy*() rõ ràng thì kết quả sẽ được trả về theo thứ tự khóa (trừ khi sử dụng mức độ ưu tiên, trong trường hợp đó, kết quả sẽ được trả về theo mức độ ưu tiên).

Chữ ký:

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

Thông số

Tham số Kiểu Sự miêu tả
hoạt động (con: IteratedDataSnapshot ) => boolean | trống rỗng Một hàm sẽ được gọi cho mỗi DataSnapshot con. Lệnh gọi lại có thể trả về true để hủy việc liệt kê thêm.

Trả về:

boolean

đúng nếu việc liệt kê bị hủy do lệnh gọi lại của bạn trả về đúng.

DataSnapshot.hasChild()

Trả về true nếu đường dẫn con được chỉ định có dữ liệu (không rỗng).

Chữ ký:

hasChild(path: string): boolean;

Thông số

Tham số Kiểu Sự miêu tả
con đường sợi dây Một đường dẫn tương đối đến vị trí của một đứa trẻ tiềm năng.

Trả về:

boolean

true nếu dữ liệu tồn tại ở đường dẫn con được chỉ định; khác false .

DataSnapshot.hasChildren()

Trả về liệu DataSnapshot có bất kỳ thuộc tính con nào không null hay không.

Bạn có thể sử dụng hasChildren() để xác định xem DataSnapshot có con nào không. Nếu vậy, bạn có thể liệt kê chúng bằng forEach() . Nếu không, thì ảnh chụp nhanh này chứa giá trị nguyên thủy (có thể được truy xuất bằng val() ) hoặc nó trống (trong trường hợp đó, val() sẽ trả về null ).

Chữ ký:

hasChildren(): boolean;

Trả về:

boolean

đúng nếu ảnh chụp nhanh này có bất kỳ phần tử con nào; khác sai.

DataSnapshot.toJSON()

Trả về một biểu diễn có thể tuần tự hóa JSON của đối tượng này.

Chữ ký:

toJSON(): object | null;

Trả về:

đối tượng | vô giá trị

DataSnapshot.val()

Trích xuất một giá trị JavaScript từ DataSnapshot .

Tùy thuộc vào dữ liệu trong DataSnapshot , phương thức val() có thể trả về kiểu vô hướng (chuỗi, số hoặc boolean), một mảng hoặc một đối tượng. Nó cũng có thể trả về null, cho biết DataSnapshot trống (không chứa dữ liệu).

Chữ ký:

val(): any;

Trả về:

bất kì

Nội dung của DataSnapshot dưới dạng giá trị JavaScript (Đối tượng, Mảng, chuỗi, số, boolean hoặc null ).