อินเทอร์เฟซที่แสดงสแนปช็อตข้อมูลฐานข้อมูล Firebase Realtime
ลายเซ็น:
export declare class DataSnapshot implements database.DataSnapshot
การใช้งาน: ฐานข้อมูล DataSnapshot
คอนสตรัคเตอร์
ตัวสร้าง | ตัวดัดแปลง | คำอธิบาย |
---|---|---|
(ตัวสร้าง)(ข้อมูล เส้นทาง แอพ อินสแตนซ์) | สร้างอินสแตนซ์ใหม่ของคลาส DataSnapshot |
คุณสมบัติ
คุณสมบัติ | ตัวดัดแปลง | พิมพ์ | คำอธิบาย |
---|---|---|---|
ตัวอย่าง | เชือก | ||
สำคัญ | สตริง | โมฆะ | คีย์ (ส่วนสุดท้ายของเส้นทาง) ของตำแหน่งของ DataSnapshot นี้ โทเค็นสุดท้ายในตำแหน่งฐานข้อมูลถือเป็นคีย์ ตัวอย่างเช่น "ada" เป็นคีย์สำหรับโหนด /users/ada/ การเข้าถึงคีย์บน DataSnapshot ใดๆ จะส่งคืนคีย์สำหรับตำแหน่งที่สร้างขึ้น อย่างไรก็ตาม การเข้าถึงคีย์บน URL รากของฐานข้อมูลจะส่งคืน null | |
อ้างอิง | ฐานข้อมูลอ้างอิง | ส่งคืน [ Reference ](/docs/reference/admin/node/admin.database.Reference) ไปยังตำแหน่งฐานข้อมูลที่เกิดการเขียนทริกเกอร์ มีสิทธิ์อ่านและเขียนเต็มรูปแบบ |
วิธีการ
วิธี | ตัวดัดแปลง | คำอธิบาย |
---|---|---|
เด็ก (เส้นทางเด็ก) | รับ DataSnapshot สำหรับตำแหน่งที่เส้นทางสัมพัทธ์ที่ระบุ เส้นทางสัมพัทธ์อาจเป็นชื่อลูกธรรมดา (เช่น "ada") หรือเส้นทางที่คั่นด้วยเครื่องหมายทับลึกกว่า (เช่น "ada/name/first") | |
มีอยู่() | คืนค่า true หาก DataSnapshot นี้มีข้อมูลใดๆ มีประสิทธิภาพมากกว่าการใช้ snapshot.val() !== null เล็กน้อย true หาก DataSnapshot นี้มีข้อมูลใดๆ มิฉะนั้นจะ false | |
ส่งออกVal() | ส่งออกเนื้อหาทั้งหมดของ DataSnapshot เป็นอ็อบเจ็กต์ JavaScript เนื้อหาของ DataSnapshot เป็นค่า JavaScript (Object, Array, string, number, boolean หรือ null ) | |
สำหรับแต่ละ(การกระทำ) | ระบุ DataSnapshot ของรายการลูก เนื่องจากวิธีการทำงานของออบเจ็กต์ JavaScript การเรียงลำดับข้อมูลในออบเจ็กต์ JavaScript ที่ส่งคืนโดย val() จึงไม่รับประกันว่าจะตรงกับการเรียงลำดับบนเซิร์ฟเวอร์หรือการเรียงลำดับของเหตุการณ์ child_added นั่นคือสิ่งที่ forEach() มีประโยชน์ รับประกันว่าลูกของ DataSnapshot สามารถวนซ้ำตามลำดับการสืบค้นได้ หากไม่มีการใช้เมธอด orderBy*() ที่ชัดเจน ผลลัพธ์จะถูกส่งกลับโดยเรียงลำดับตามคีย์ (เว้นแต่จะใช้ลำดับความสำคัญ ซึ่งในกรณีนี้ ผลลัพธ์จะถูกส่งกลับตามลำดับความสำคัญ) | |
รับลำดับความสำคัญ() | รับค่าลำดับความสำคัญของข้อมูลใน DataSnapshot นี้ ทางเลือกอื่นนอกเหนือจากการใช้ลำดับความสำคัญ แอปพลิเคชันสามารถสั่งซื้อคอลเลกชันตามคุณสมบัติทั่วไปได้ ดู [การเรียงลำดับและการกรองข้อมูล](/docs/database/web/lists-of-data#sorting_and_filtering_data) ค่าลำดับความสำคัญของข้อมูล | |
hasChild (เส้นทางเด็ก) | คืนค่า true หากเส้นทางลูกที่ระบุมีข้อมูล (ไม่ใช่ null ) | |
มีเด็ก() | ส่งคืนว่า DataSnapshot มีคุณสมบัติลูกที่ไม่เป็น null หรือไม่ คุณสามารถใช้ hasChildren() เพื่อตรวจสอบว่า DataSnapshot มีลูกหรือไม่ หากเป็นเช่นนั้น คุณสามารถระบุได้โดยใช้ forEach() หากไม่เป็นเช่นนั้น สแน็ปช็อตนี้จะมีค่าดั้งเดิม (ซึ่งสามารถดึงข้อมูลได้ด้วย val() ) หรือว่างเปล่า (ในกรณีนี้ val() จะส่งคืน null ) true หากสแน็ปช็อตนี้มีรายการย่อย อย่างอื่น false | |
numChildren() | ส่งกลับจำนวนคุณสมบัติลูกของ DataSnapshot นี้ จำนวนคุณสมบัติย่อยของ DataSnapshot นี้ | |
ถึง JSON() | ส่งคืนการแสดงออบเจ็กต์ที่ทำให้เป็นอนุกรม JSON ของออบเจ็กต์นี้ได้ การแสดงวัตถุนี้แบบอนุกรมได้ JSON | |
วาล() | แยกค่า JavaScript จาก DataSnapshot ขึ้นอยู่กับข้อมูลใน DataSnapshot val() อาจส่งคืนประเภทสเกลาร์ (สตริง ตัวเลข หรือบูลีน) อาร์เรย์ หรืออ็อบเจ็กต์ นอกจากนี้ยังอาจส่งคืน null เพื่อระบุว่า DataSnapshot ว่างเปล่า (ไม่มีข้อมูล) เนื้อหาของสแนปชอตเป็นค่า JavaScript (Object, Array, string, number, boolean หรือ 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;
ฐานข้อมูล DataSnapshot.ref
ส่งกลับค่า [ Reference
](/docs/reference/admin/node/admin.database.Reference) ไปยังตำแหน่งฐานข้อมูลที่เกิดการเขียนทริกเกอร์ มีสิทธิ์อ่านและเขียนเต็มรูปแบบ
ลายเซ็น:
get ref(): database.Reference;
ฐานข้อมูล DataSnapshot.child()
รับ DataSnapshot
สำหรับตำแหน่งที่เส้นทางสัมพัทธ์ที่ระบุ
เส้นทางสัมพัทธ์อาจเป็นชื่อลูกธรรมดา (เช่น "ada") หรือเส้นทางที่คั่นด้วยเครื่องหมายทับลึกกว่า (เช่น "ada/name/first")
ลายเซ็น:
child(childPath: string): DataSnapshot;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
เส้นทางลูก | เชือก |
ผลตอบแทน:
ฐานข้อมูล DataSnapshot.exists()
คืนค่า true
หาก DataSnapshot
นี้มีข้อมูลใดๆ มันมีประสิทธิภาพมากกว่าการใช้ snapshot.val() !== null
เล็กน้อย .
true
หาก DataSnapshot
นี้มีข้อมูลใดๆ มิฉะนั้นจะ false
.
ลายเซ็น:
exists(): boolean;
ผลตอบแทน:
บูลีน
ฐานข้อมูล DataSnapshot.exportVal()
ส่งออกเนื้อหาทั้งหมดของ DataSnapshot
เป็นอ็อบเจ็กต์ JavaScript
เนื้อหาของ DataSnapshot
เป็นค่า JavaScript (Object, Array, string, number, boolean หรือ null
).
ลายเซ็น:
exportVal(): any;
ผลตอบแทน:
ใดๆ
ฐานข้อมูล DataSnapshot.forEach()
ระบุ DataSnapshot
ของใช้สำหรับเด็ก
เนื่องจากวิธีการทำงานของออบเจ็กต์ JavaScript การเรียงลำดับข้อมูลในออบเจ็กต์ JavaScript ที่ส่งคืนโดย val()
จึงไม่รับประกันว่าจะตรงกับการเรียงลำดับบนเซิร์ฟเวอร์หรือการเรียงลำดับของเหตุการณ์ child_added
นั่นคือจุดที่ forEach()
มีประโยชน์ รับประกันว่าลูกของ DataSnapshot
สามารถวนซ้ำตามลำดับการสืบค้นได้
หากไม่มีการใช้เมธอด orderBy*()
ที่ชัดเจน ผลลัพธ์จะถูกส่งกลับโดยเรียงลำดับตามคีย์ (เว้นแต่จะใช้ลำดับความสำคัญ ซึ่งในกรณีนี้ ผลลัพธ์จะถูกส่งกลับตามลำดับความสำคัญ)
ลายเซ็น:
forEach(action: (a: DataSnapshot) => boolean | void): boolean;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
การกระทำ | (ก: DataSnapshot ) => บูลีน | เป็นโมฆะ | ฟังก์ชันที่ถูกเรียกใช้สำหรับ DataSnapshot แต่ละรายการ การโทรกลับสามารถคืน true เพื่อยกเลิกการแจงนับเพิ่มเติม true หากการแจงนับถูกยกเลิกเนื่องจากการโทรกลับของคุณส่งคืน true |
ผลตอบแทน:
บูลีน
ฐานข้อมูล DataSnapshot.getPriority()
รับค่าลำดับความสำคัญของข้อมูลใน DataSnapshot
นี้ .
ทางเลือกอื่นนอกเหนือจากการใช้ลำดับความสำคัญ แอปพลิเคชันสามารถสั่งซื้อคอลเลกชันตามคุณสมบัติทั่วไปได้ ดู [การเรียงลำดับและการกรองข้อมูล](/docs/database/web/lists-of-data#sorting_and_filtering_data)
ค่าลำดับความสำคัญของข้อมูล
ลายเซ็น:
getPriority(): string | number | null;
ผลตอบแทน:
สตริง | หมายเลข | โมฆะ
ฐานข้อมูล DataSnapshot.hasChild()
ส่งคืน true
หากเส้นทางลูกที่ระบุมี (ไม่ใช่ null
) ข้อมูล.
ลายเซ็น:
hasChild(childPath: string): boolean;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
เส้นทางลูก | เชือก |
ผลตอบแทน:
บูลีน
ฐานข้อมูล DataSnapshot.hasChildren()
ส่งคืนว่า DataSnapshot
มีคุณสมบัติลูกที่ไม่เป็น null
หรือไม่
คุณสามารถใช้ hasChildren()
เพื่อตรวจสอบว่า DataSnapshot
มีลูกหรือไม่ หากเป็นเช่นนั้น คุณสามารถระบุได้โดยใช้ forEach()
. หากไม่เป็นเช่นนั้น สแน็ปช็อตนี้จะมีค่าดั้งเดิม (ซึ่งสามารถดึงข้อมูลได้ด้วย val()
) หรือว่างเปล่า (ในกรณีนี้ val()
จะส่งคืน null
).
true
หากสแน็ปช็อตนี้มีรายการย่อย อย่างอื่น false
.
ลายเซ็น:
hasChildren(): boolean;
ผลตอบแทน:
บูลีน
ฐานข้อมูล DataSnapshot.numChildren()
ส่งกลับจำนวนคุณสมบัติลูกของ DataSnapshot
นี้ .
จำนวนคุณสมบัติย่อยของ DataSnapshot
นี้ .
ลายเซ็น:
numChildren(): number;
ผลตอบแทน:
ตัวเลข
ฐานข้อมูล DataSnapshot.toJSON()
ส่งคืนการแสดงออบเจ็กต์ที่ทำให้เป็นอนุกรม JSON ของออบเจ็กต์นี้ได้
การแสดงวัตถุนี้แบบอนุกรมได้ JSON
ลายเซ็น:
toJSON(): Record<string, unknown>;
ผลตอบแทน:
บันทึก<สตริง, ไม่ทราบ>
ฐานข้อมูล DataSnapshot.val()
แยกค่า JavaScript จาก DataSnapshot
.
ขึ้นอยู่กับข้อมูลใน DataSnapshot
เมธอด val()
อาจส่งคืนประเภทสเกลาร์ (สตริง ตัวเลข หรือบูลีน) อาร์เรย์ หรืออ็อบเจ็กต์ นอกจากนี้ยังอาจส่งคืน null
ซึ่งบ่งชี้ว่า DataSnapshot
ว่างเปล่า (ไม่มีข้อมูล)
เนื้อหาของสแนปชอตเป็นค่า JavaScript (Object, Array, string, number, boolean หรือ null
).
ลายเซ็น:
val(): any;
ผลตอบแทน:
ใดๆ