database.DataSnapshot class

อินเทอร์เฟซแสดงภาพรวมข้อมูลฐานข้อมูลเรียลไทม์ของ Firebase

ลายเซ็น:

export declare class DataSnapshot implements database.DataSnapshot 

การใช้งาน: Database.DataSnapshot

ผู้ผลิต

ผู้ผลิต คีย์ตัวปรับแต่ง คำอธิบาย
(constructor)(ข้อมูล เส้นทาง แอป อินสแตนซ์) สร้างอินสแตนซ์ใหม่ของคลาส DataSnapshot

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้ คีย์ตัวปรับแต่ง ประเภท คำอธิบาย
อินสแตนซ์ สตริง
คีย์ สตริง | ค่าว่าง คีย์ (ส่วนสุดท้ายของเส้นทาง) ของตำแหน่งของ DataSnapshot นี้โทเค็นสุดท้ายในตำแหน่งฐานข้อมูลจะถือเป็นคีย์ของโทเค็นดังกล่าว เช่น "ada" คือคีย์สำหรับโหนด /users/ada/ การเข้าถึงคีย์ใน DataSnapshot ใดก็ตามจะแสดงคีย์ของตำแหน่งที่สร้างคีย์ดังกล่าว แต่การเข้าถึงคีย์ใน URL รูทของฐานข้อมูลจะแสดง null
อ้างอิง ฐานข้อมูลการอ้างอิง แสดงผล [Reference](/docs/reference/admin/node/admin.database.Reference) ไปยังตำแหน่งฐานข้อมูลที่เกิดการเขียนทริกเกอร์ มีสิทธิ์อ่านและเขียนโดยสมบูรณ์

เมธอด

วิธีการ คีย์ตัวปรับแต่ง คำอธิบาย
child(childPath) รับ DataSnapshot สำหรับตำแหน่งที่เส้นทางสัมพัทธ์ที่ระบุเส้นทางแบบสัมพัทธ์อาจเป็นชื่อย่อยแบบง่าย (เช่น "ada") หรือเส้นทางที่คั่นด้วยเครื่องหมายทับในระดับที่ลึกขึ้น (เช่น "ada/name/first")
exists() แสดงผล true หาก DataSnapshot นี้มีข้อมูล มีประสิทธิภาพมากกว่าการใช้ snapshot.val() !== null เล็กน้อย true หาก DataSnapshot นี้มีข้อมูล หากไม่เช่นนั้น ให้false
exportVal() ส่งออกเนื้อหาทั้งหมดของ DataSnapshot เป็นออบเจ็กต์ JavaScript เนื้อหาของ DataSnapshot เป็นค่า JavaScript (ออบเจ็กต์ อาร์เรย์ สตริง ตัวเลข บูลีน หรือ null)
forแต่ละแคมเปญ(การดำเนินการ) แจกแจง DataSnapshot ของรายการย่อยเนื่องจากวิธีการทำงานของออบเจ็กต์ JavaScript จึงไม่รับประกันว่าการจัดลำดับข้อมูลในออบเจ็กต์ JavaScript ที่ val() ส่งคืนจะตรงกับการจัดลำดับในเซิร์ฟเวอร์หรือการจัดลำดับเหตุการณ์ child_added นี่คือจุดที่ forEach() ช่วยคุณได้ เครื่องมือนี้รับประกันว่าสามารถทำซ้ำรายการย่อยของ DataSnapshot ตามลำดับการค้นหาได้หากไม่ได้ใช้เมธอด orderBy*() อย่างชัดแจ้ง ระบบจะแสดงผลผลลัพธ์ตามคีย์ (เว้นแต่มีการใช้ลำดับความสำคัญ ซึ่งในกรณีนี้ ผลลัพธ์จะแสดงตามลำดับความสำคัญ)
getPriority() รับค่าลำดับความสำคัญของข้อมูลใน DataSnapshot นี้แอปพลิเคชันจะเรียงลำดับคอลเล็กชันตามพร็อพเพอร์ตี้ทั่วไปได้แทนการใช้ลำดับความสำคัญ ดู[การจัดเรียงและการกรองข้อมูล](/docs/database/web/lists-of-data#sorting_and_filtering_data) ค่าลำดับความสำคัญของข้อมูล
hasChild(childPath) แสดงผล true หากเส้นทางย่อยที่ระบุมีข้อมูล (ไม่ใช่ null)
hasChildren() จะแสดงผลว่า DataSnapshot มีพร็อพเพอร์ตี้ย่อยที่ไม่ใช่ null หรือไม่คุณใช้ hasChildren() เพื่อระบุว่า DataSnapshot มีพร็อพเพอร์ตี้ย่อยหรือไม่ หากใช่ คุณสามารถแจกแจงรายการโดยใช้ forEach() หากไม่มี แสดงว่าสแนปชอตนี้มีค่าพื้นฐาน (ซึ่งดึงมาได้ด้วย val()) หรือเป็นค่าว่าง (ในกรณีนี้ val() จะแสดงผล null) true หากสแนปชอตนี้มีลูก และอีก false
numChildren() แสดงผลจำนวนพร็อพเพอร์ตี้ย่อยของ DataSnapshot นี้ จำนวนพร็อพเพอร์ตี้ย่อยของ DataSnapshot นี้
toJSON() แสดงผลการนำเสนอ JSON แบบอนุกรมของออบเจ็กต์นี้ การนำเสนอที่ซีเรียลได้ของ JSON ของออบเจ็กต์นี้
val() ดึงค่า JavaScript จาก DataSnapshotเมธอด val() อาจแสดงผลประเภทสเกลาร์ (สตริง ตัวเลข หรือบูลีน) อาร์เรย์ หรือออบเจ็กต์ ทั้งนี้ขึ้นอยู่กับข้อมูลในเมธอด DataSnapshot และอาจแสดงผล null ด้วย ซึ่งแสดงว่า DataSnapshot ว่างเปล่า (ไม่มีข้อมูล) เนื้อหาของสแนปชอตเป็นค่า JavaScript (ออบเจ็กต์ อาร์เรย์ สตริง ตัวเลข บูลีน หรือ null)

ฐานข้อมูล.DataSnapshot.(ตัวสร้าง)

สร้างอินสแตนซ์ใหม่ของคลาส DataSnapshot

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ข้อมูล ทั้งหมด
เส้นทาง สตริง
แอป แอป
อินสแตนซ์ สตริง

ฐานข้อมูล.DataSnapshot.instance

ลายเซ็น:

instance: string;

ฐานข้อมูล.DataSnapshot.key

คีย์ (ส่วนสุดท้ายของเส้นทาง) ของตำแหน่งของ DataSnapshot นี้

โทเค็นสุดท้ายในตำแหน่งฐานข้อมูลจะถือเป็นคีย์ของโทเค็นนั้น เช่น "ada" คือคีย์สำหรับโหนด /users/ada/ การเข้าถึงคีย์ใน DataSnapshot ใดก็ตามจะแสดงคีย์ของตำแหน่งที่สร้างคีย์ดังกล่าว แต่การเข้าถึงคีย์ใน URL รูทของฐานข้อมูลจะแสดงผล null

ลายเซ็น:

get key(): string | null;

Database.DataSnapshot.ref

แสดงผล [Reference](/docs/reference/admin/node/admin.database.Reference) ไปยังตำแหน่งฐานข้อมูลที่เกิดการเขียนทริกเกอร์ มีสิทธิ์อ่านและเขียนโดยสมบูรณ์

ลายเซ็น:

get ref(): database.Reference;

Database.DataSnapshot.child()

รับ DataSnapshot สำหรับสถานที่ตั้งในเส้นทางที่เกี่ยวข้องที่ระบุ

เส้นทางแบบสัมพัทธ์อาจเป็นชื่อย่อยแบบง่าย (เช่น "ada") หรือเส้นทางที่คั่นด้วยเครื่องหมายทับในระดับที่ลึกขึ้น (เช่น "ada/name/first")

ลายเซ็น:

child(childPath: string): DataSnapshot;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
เส้นทางย่อย สตริง

การคืนสินค้า:

DataSnapshot

Database.DataSnapshot.exists()

แสดงผล true หาก DataSnapshot นี้มีข้อมูล มีประสิทธิภาพมากกว่าการใช้ snapshot.val() !== null เล็กน้อย

true หาก DataSnapshot นี้มีข้อมูล หากไม่เช่นนั้น ให้false

ลายเซ็น:

exists(): boolean;

การคืนสินค้า:

boolean

Database.DataSnapshot.exportVal()

ส่งออกเนื้อหาทั้งหมดของ DataSnapshot เป็นออบเจ็กต์ JavaScript

เนื้อหาของ DataSnapshot เป็นค่า JavaScript (ออบเจ็กต์ อาร์เรย์ สตริง ตัวเลข บูลีน หรือ null)

ลายเซ็น:

exportVal(): any;

การคืนสินค้า:

ทั้งหมด

ฐานข้อมูล.DataSnapshot.forIndividual()

แจกแจง DataSnapshot ของรายการย่อย

เนื่องจากวิธีการทำงานของออบเจ็กต์ JavaScript จึงไม่รับประกันว่าการจัดลำดับข้อมูลในออบเจ็กต์ JavaScript ที่ val() ส่งคืนจะตรงกับการจัดลำดับบนเซิร์ฟเวอร์หรือการจัดลำดับเหตุการณ์ child_added นี่คือจุดที่ forEach() ช่วยคุณได้ เพื่อช่วยรับประกันว่ารายการย่อยของ DataSnapshot จะทำซ้ำตามลำดับการค้นหาได้

หากไม่มีการใช้เมธอด orderBy*() ที่ชัดเจน ระบบจะส่งผลลัพธ์แสดงการเรียงลำดับตามคีย์ (เว้นแต่มีการใช้ลำดับความสำคัญ ซึ่งในกรณีนี้ ผลลัพธ์จะแสดงตามลำดับความสำคัญ)

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การทำงาน (ก: DataSnapshot) => บูลีน | เป็นโมฆะ ฟังก์ชันที่เรียกใช้สำหรับ DataSnapshot ย่อยแต่ละรายการ โทรกลับสามารถส่งคืน true เพื่อยกเลิกการแจกแจงเพิ่มเติม true หากการแจงนับถูกยกเลิกเนื่องจากการติดต่อกลับของคุณที่ true

การคืนสินค้า:

boolean

Database.DataSnapshot.getPriority()

รับค่าลำดับความสำคัญของข้อมูลใน DataSnapshot นี้

นอกจากการใช้ลำดับความสำคัญแล้ว แอปพลิเคชันสามารถเรียงลำดับคอลเล็กชันตามคุณสมบัติทั่วไปได้ ดู[การจัดเรียงและการกรองข้อมูล](/docs/database/web/lists-of-data#sorting_and_filtering_data)

ค่าลำดับความสำคัญของข้อมูล

ลายเซ็น:

getPriority(): string | number | null;

การคืนสินค้า:

สตริง | ตัวเลข | ค่าว่าง

Database.DataSnapshot.hasChild()

แสดงผล true หากเส้นทางย่อยที่ระบุมีข้อมูล (ไม่ใช่ null)

ลายเซ็น:

hasChild(childPath: string): boolean;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
เส้นทางย่อย สตริง

การคืนสินค้า:

boolean

Database.DataSnapshot.hasChildren()

จะแสดงผลว่า DataSnapshot มีพร็อพเพอร์ตี้ย่อยที่ไม่ใช่ null หรือไม่

คุณใช้ hasChildren() เพื่อระบุว่า DataSnapshot มีบุตรหลานหรือไม่ได้ หากใช่ คุณสามารถแจกแจงรายการได้โดยใช้ forEach() หากไม่มี แสดงว่าสแนปชอตนี้มีค่าพื้นฐาน (ซึ่งดึงมาได้ด้วย val()) หรือเป็นค่าว่าง (ในกรณีนี้ val() จะแสดงผล null)

true หากสแนปชอตนี้มีลูก อื่นๆ false

ลายเซ็น:

hasChildren(): boolean;

การคืนสินค้า:

boolean

Database.DataSnapshot.numChildren()

แสดงผลจำนวนพร็อพเพอร์ตี้ย่อยของ DataSnapshot นี้

จำนวนพร็อพเพอร์ตี้ย่อยของ DataSnapshot นี้

ลายเซ็น:

numChildren(): number;

การคืนสินค้า:

ตัวเลข

Database.DataSnapshot.toJSON()

แสดงผลการนำเสนอ JSON แบบอนุกรมของออบเจ็กต์นี้

การนำเสนอที่ซีเรียลได้ของ JSON ของออบเจ็กต์นี้

ลายเซ็น:

toJSON(): Record<string, unknown>;

การคืนสินค้า:

บันทึก<สตริง, ไม่ทราบ>

Database.DataSnapshot.val()

ดึงค่า JavaScript จาก DataSnapshot

เมธอด val() อาจแสดงผลประเภทสเกลาร์ (สตริง ตัวเลข หรือบูลีน) อาร์เรย์ หรือออบเจ็กต์ ทั้งนี้ขึ้นอยู่กับข้อมูลใน DataSnapshot และอาจแสดงผล null ซึ่งแสดงว่า DataSnapshot ว่างเปล่า (ไม่มีข้อมูล)

เนื้อหาของสแนปชอตเป็นค่า JavaScript (ออบเจ็กต์ อาร์เรย์ สตริง ตัวเลข บูลีน หรือnull)

ลายเซ็น:

val(): any;

การคืนสินค้า:

ทั้งหมด