database.DataSnapshot class

Giao diện thể hiện ảnh chụp nhanh dữ liệu cơ sở dữ liệu Firebase Realtime.

Chữ ký:

export declare class DataSnapshot implements database.DataSnapshot 

Triển khai: cơ sở dữ liệu.DataSnapshot

nhà xây dựng

Người xây dựng sửa đổi Sự miêu tả
(hàm tạo)(dữ liệu, đường dẫn, ứng dụng, phiên bản) Xây dựng một phiên bản mới của lớp DataSnapshot

Của cải

Tài sản sửa đổi Kiểu Sự miêu tả
ví dụ sợi dây
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 ở 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 .
giới thiệu cơ sở dữ liệu.Tham khảo Trả về [ Reference ](/docs/reference/admin/node/admin.database.Reference) cho vị trí cơ sở dữ liệu nơi xảy ra quá trình ghi kích hoạt. Có đầy đủ quyền truy cập đọc và ghi.

phương pháp

Phương pháp sửa đổi Sự miêu tả
con(childPath) Nhận DataSnapshot 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").
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 . true nếu DataSnapshot này chứa bất kỳ dữ liệu nào; nếu không thì false .
xuấtVal() Xuất toàn bộ nội dung của DataSnapshot dưới dạng đối tượng JavaScript. 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 ).
forEach(hành động) Liệt kê các DataSnapshot của các mục con. 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 child_added . Đó là lúc forEach() phát huy tác dụng. Nó đảm bảo các phần tử con của DataSnapshot có thể đượ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).
getPriority() Nhận giá trị ưu tiên của dữ liệu trong DataSnapshot này. Để thay thế cho việc sử dụng mức độ ưu tiên, các ứng dụ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](/docs/database/web/lists-of-data#sorting_and_filtering_data). Giá trị ưu tiên của dữ liệu.
hasChild(childPath) Trả về true nếu đường dẫn con được chỉ định có dữ liệu (không null ).
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() trả về null ). true nếu ảnh chụp nhanh này có bất kỳ phần tử con nào; khác false .
numChildren() Trả về số lượng thuộc tính con của DataSnapshot này. Số thuộc tính con của DataSnapshot này.
toJSON() Trả về một biểu diễn có thể tuần tự hóa JSON của đối tượng này. 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). Nội dung của ảnh chụp nhanh dưới dạng giá trị JavaScript (Đối tượng, Mảng, chuỗi, số, boolean hoặc null ).

cơ sở dữ liệu.DataSnapshot.(hàm tạo)

Xây dựng một phiên bản mới của lớp DataSnapshot

Chữ ký:

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

Thông số

Tham số Kiểu Sự miêu tả
dữ liệu bất kì
con đường sợi dây
ứng dụng Ứng dụng
ví dụ sợi dây

cơ sở dữ liệu.DataSnapshot.instance

Chữ ký:

instance: string;

cơ sở 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 ở 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;

cơ sở dữ liệu.DataSnapshot.ref

Trả về một [ Reference ](/docs/reference/admin/node/admin.database.Reference) đến vị trí cơ sở dữ liệu nơi xảy ra quá trình ghi kích hoạt. Có đầy đủ quyền truy cập đọc và ghi.

Chữ ký:

get ref(): database.Reference;

cơ sở dữ liệu.DataSnapshot.child()

Nhận DataSnapshot 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").

Chữ ký:

child(childPath: string): DataSnapshot;

Thông số

Tham số Kiểu Sự miêu tả
đường dẫn con sợi dây

Trả về:

Ảnh chụp nhanh dữ liệu

cơ sở 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 .

true nếu DataSnapshot này chứa bất kỳ dữ liệu nào; nếu không thì false .

Chữ ký:

exists(): boolean;

Trả về:

boolean

cơ sở dữ liệu.DataSnapshot.exportVal()

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

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 ).

Chữ ký:

exportVal(): any;

Trả về:

bất kì

cơ sở dữ liệu.DataSnapshot.forEach()

Liệt kê DataSnapshot s của các mặt hàng trẻ em.

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 child_added . Đó là lúc forEach() phát huy tác dụng. Nó đảm bảo các phần tử con của DataSnapshot có thể đượ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: (a: DataSnapshot) => boolean | void): boolean;

Thông số

Tham số Kiểu Sự miêu tả
hoạt động (a: Ảnh chụp dữ liệu ) => boolean | trống rỗng Một hàm đượ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. true nếu việc liệt kê bị hủy do lệnh gọi lại của bạn trả về true .

Trả về:

boolean

cơ sở dữ liệu.DataSnapshot.getPriority()

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

Để thay thế cho việc sử dụng mức độ ưu tiên, các ứng dụ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](/docs/database/web/lists-of-data#sorting_and_filtering_data).

Giá trị ưu tiên của dữ liệu.

Chữ ký:

getPriority(): string | number | null;

Trả về:

chuỗi | số | vô giá trị

cơ sở dữ liệu.DataSnapshot.hasChild()

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

Chữ ký:

hasChild(childPath: string): boolean;

Thông số

Tham số Kiểu Sự miêu tả
đường dẫn con sợi dây

Trả về:

boolean

cơ sở dữ liệu.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() trả về null ).

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

Chữ ký:

hasChildren(): boolean;

Trả về:

boolean

cơ sở dữ liệu.DataSnapshot.numChildren()

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

Số thuộc tính con của DataSnapshot này .

Chữ ký:

numChildren(): number;

Trả về:

con số

cơ sở dữ liệu.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.

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

Chữ ký:

toJSON(): Record<string, unknown>;

Trả về:

Bản ghi<chuỗi, không xác định>

cơ sở dữ liệu.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).

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

Chữ ký:

val(): any;

Trả về:

bất kì