database.DataSnapshot class

อินเทอร์เฟซที่แสดงสแนปช็อตข้อมูลฐานข้อมูล 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

ฐานข้อมูล 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;

ผลตอบแทน:

ใดๆ