database.DataSnapshot class

Giao diện minh hoạ thông tin tổng quan nhanh về dữ liệu của cơ sở dữ liệu theo thời gian thực Firebase.

Chữ ký:

export declare class DataSnapshot implements database.DataSnapshot 

Triển khai: Database.DataSnapshot

Công ty sản xuất

Công ty sản xuất Công cụ sửa đổi Mô tả
(hàm khởi tạo)(dữ liệu, đường dẫn, ứng dụng, thực thể) Tạo một thực thể mới của lớp DataSnapshot

Thuộc tính

Tài sản Công cụ sửa đổi Loại Mô tả
thực thể chuỗi
khoá chuỗi | rỗng Khoá (phần cuối của đường dẫn) của vị trí của DataSnapshot này.Mã thông báo cuối cùng ở vị trí cơ sở dữ liệu sẽ được coi là khoá của cơ sở dữ liệu đó. Ví dụ: "ada" là khoá cho nút /users/ada/. Thao tác truy cập khoá trên bất kỳ DataSnapshot nào sẽ trả về khoá cho vị trí đã tạo ra khoá đó. Tuy nhiên, việc truy cập khoá trên URL gốc của cơ sở dữ liệu sẽ trả về null.
tham chiếu cơ sở dữ liệu.Tham chiếu Trả về [Reference](/docs/reference/admin/node/admin.database.Reference) đến vị trí cơ sở dữ liệu nơi xảy ra hoạt động ghi kích hoạt. Có toàn quyền đọc và ghi.

Phương thức

Phương thức Công cụ sửa đổi Mô tả
child(childPath) Nhận DataSnapshot cho vị trí tại đường dẫn tương đối được chỉ định.Đường dẫn tương đối có thể là một tên con đơn giản (ví dụ: "ada") hoặc một đườ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").
exists() Trả về true nếu DataSnapshot này chứa dữ liệu bất kỳ. Cách này hiệu quả hơn một chút so với 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.
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).
forEach(action) Liệt kê 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ự của dữ liệu trong đối tượng JavaScript do val() trả về không đảm bảo khớp với thứ tự trên máy chủ cũng như thứ tự của sự kiện child_added. Đó là lúc forEach() phát huy tác dụng. Phương thức này đả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.Nếu bạn không sử dụng phương thức orderBy*() rõ ràng, kết quả sẽ được trả về theo thứ tự khoá (trừ phi bạn sử dụng mức độ ưu tiên, các kết quả sẽ được trả về theo mức độ ưu tiên).
getPriority() Lấy giá trị ưu tiên của dữ liệu trong DataSnapshot này.Thay vì sử dụng mức độ ưu tiên, các ứng dụng có thể sắp xếp các tập hợp theo các thuộc tính thông thường. Hãy xem bài viết [Sắp xếp và lọc dữ liệu](/docs/database/web/listing-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 phải null).
hasTrẻ() Trả về xem DataSnapshot có thuộc tính con nào không phải là null hay không.Bạn có thể sử dụng hasChildren() để xác định xem DataSnapshot có thuộc tính con nào không. Nếu có, bạn có thể liệt kê chúng bằng forEach(). Nếu không, thì bản tổng quan nhanh này sẽ chứa một giá trị gốc (có thể truy xuất được bằng val()) hoặc để trống (trong trường hợp này, val() sẽ trả về null). true nếu bản tổng quan nhanh này có bất kỳ phần tử con nào; false khác.
numTrẻ em() Trả về số lượng thuộc tính con của DataSnapshot này. Số lượng tài sản con của DataSnapshot này.
toJSON() Trả về một bản trình bày có thể chuyển đổi tuần tự JSON của đối tượng này. Một bản trình bày có thể chuyển đổi tuần tự JSON của đối tượng này.
val() Trích xuất giá trị JavaScript từ DataSnapshot.Tuỳ thuộc vào dữ liệu trong DataSnapshot, phương thức val() có thể trả về một kiểu vô hướng (chuỗi, số hoặc boolean), mảng hoặc đối tượng. Mã này cũng có thể trả về null, cho biết rằng DataSnapshot trống (không chứa dữ liệu). Nội dung của bản tổng quan nhanh dưới dạng giá trị JavaScript (Đối tượng, Mảng, chuỗi, số, boolean hoặc null).

Database.DataSnapshot.(hàm khởi tạo)

Tạo một thực thể 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ố

Thông số Loại Mô tả
dữ liệu bất kỳ
đường dẫn chuỗi
ứng dụng Ứng dụng
bản sao chuỗi

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

Chữ ký:

instance: string;

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

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

Mã thông báo cuối cùng trong một vị trí cơ sở dữ liệu sẽ được coi là khoá của mã đó. Ví dụ: "ada" là khoá cho nút /users/ada/. Thao tác truy cập khoá trên bất kỳ DataSnapshot nào sẽ trả về khoá cho vị trí đã tạo ra khoá đó. Tuy nhiên, việc truy cập khoá 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ề [Reference](/docs/reference/admin/node/admin.database.Reference) đến vị trí cơ sở dữ liệu nơi xảy ra hoạt động ghi kích hoạt. Có toàn quyền đọc và ghi.

Chữ ký:

get ref(): database.Reference;

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

Lấy DataSnapshot cho vị trí tại đường dẫn tương đối được chỉ định.

Đường dẫn tương đối có thể là một tên con đơn giản (ví dụ: "ada") hoặc một đườ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ố

Thông số Loại Mô tả
Đường dẫn con chuỗi

Trường hợp trả lại hàng:

Ảnh chụp nhanh về dữ liệu

Database.DataSnapshot.exists()

Trả về true nếu DataSnapshot này chứa dữ liệu bất kỳ. Cách này hiệu quả hơn một chút so với 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ường hợp trả lại hàng:

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ường hợp trả lại hàng:

bất kỳ

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

Liệt kê 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 do val() trả về 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. Phương thức này đả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.

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

Chữ ký:

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

Thông số

Thông số Loại Mô tả
hành động, action (a: IteratedDataSnapshot) => boolean | trống Một hàm được gọi cho mỗi DataSnapshot con. Lệnh gọi lại có thể trả về true để huỷ thao tác liệt kê thêm. true nếu quá trình liệt kê đã bị huỷ do lệnh gọi lại trả về true.

Trường hợp trả lại hàng:

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 vì sử dụng mức độ ưu tiên, các ứng dụng có thể sắp xếp các tập hợp theo các thuộc tính thông thường. Hãy xem bài viết [Sắp xếp và lọc dữ liệu](/docs/database/web/listing-of-data#sorting_and_filtering_data).

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

Chữ ký:

getPriority(): string | number | null;

Trường hợp trả lại hàng:

chuỗi | số | rỗng

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

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

Chữ ký:

hasChild(childPath: string): boolean;

Thông số

Thông số Loại Mô tả
Đường dẫn con chuỗi

Trường hợp trả lại hàng:

boolean

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

Trả về việc DataSnapshot có thuộc tính con nào không phải null hay không.

Bạn có thể dùng hasChildren() để xác định xem DataSnapshot có phần tử con nào hay 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ì tổng quan nhanh này sẽ chứa một giá trị gốc (có thể truy xuất được bằng val()) hoặc để trống (trong trường hợp này, val() sẽ trả về null).

true nếu bản tổng quan nhanh này có bất kỳ phần tử con nào; khác false.

Chữ ký:

hasChildren(): boolean;

Trường hợp trả lại hàng:

boolean

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

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

Số lượng tài sản con của DataSnapshot này.

Chữ ký:

numChildren(): number;

Trường hợp trả lại hàng:

số

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

Trả về một bản trình bày có thể chuyển đổi tuần tự JSON của đối tượng này.

Một bản trình bày có thể chuyển đổi tuần tự JSON của đối tượng này.

Chữ ký:

toJSON(): Record<string, unknown>;

Trường hợp trả lại hàng:

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

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

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

Tuỳ thuộc vào dữ liệu trong DataSnapshot, phương thức val() có thể trả về một kiểu vô hướng (chuỗi, số hoặc boolean), mảng hoặc đối tượng. Mã này 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 bản tổng quan 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ường hợp trả lại hàng:

bất kỳ