อินเทอร์เฟซแสดงภาพรวมข้อมูลฐานข้อมูลเรียลไทม์ของ 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;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
เส้นทางย่อย | สตริง |
การคืนสินค้า:
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: IteratedDataSnapshot) => boolean | void): boolean;
พารามิเตอร์
พารามิเตอร์ | ประเภท | คำอธิบาย |
---|---|---|
การทำงาน | (ก: IteratedDataSnapshot) => บูลีน | เป็นโมฆะ | ฟังก์ชันที่เรียกใช้สำหรับ 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;
การคืนสินค้า:
ทั้งหมด