FirestoreSettings interface

ระบุการกำหนดค่าที่กำหนดเองสำหรับอินสแตนซ์ Cloud Firestore คุณต้องตั้งค่าเหล่านี้ก่อนเรียกใช้วิธีการอื่นๆ

ลายเซ็น:

export declare interface FirestoreSettings 

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

พร็อพเพอร์ตี้ ประเภท คำอธิบาย
cacheSizeBytes ตัวเลข หมายเหตุ: เราจะเลิกใช้งานช่องนี้ในรุ่นหลักในอนาคต ใช้ช่อง cache แทนเพื่อระบุขนาดแคชและการกำหนดค่าแคชอื่นๆเกณฑ์ขนาดแคชโดยประมาณสำหรับข้อมูลบนดิสก์ หากแคชมีขนาดเกินกว่านี้ Firestore จะเริ่มนำข้อมูลที่ไม่ได้ใช้ล่าสุดออก ขนาดไม่ได้รับประกันว่าแคชจะอยู่ต่ำกว่าขนาดดังกล่าว แต่ในกรณีที่แคชมีขนาดเกินที่ระบุไว้ ก็จะพยายามทำความสะอาดค่าเริ่มต้นคือ 40 MB โดยต้องตั้งค่าเกณฑ์ขั้นต่ำไว้ที่ 1 MB และตั้งค่าเป็น CACHE_SIZE_UNLIMITED เพื่อปิดใช้การเก็บข้อมูลขยะได้
experimentalAutoDetectLongPolling boolean กำหนดค่าการส่งที่สำคัญของ SDK (WebChannel) เพื่อตรวจหาโดยอัตโนมัติว่าควรใช้การโพลแบบยาวหรือไม่ ค่านี้คล้ายกับ experimentalForceLongPolling มาก แต่จะใช้การจัดทำแบบสำรวจแบบยาวเฉพาะในกรณีที่จำเป็นหลังจากตั้งค่าเริ่มต้นเป็น false นับตั้งแต่เริ่มดำเนินการในปี 2019 ค่าเริ่มต้นของการตั้งค่านี้ได้เปลี่ยนไปในเดือนพฤษภาคม 2023 เป็น true ใน Firebase JavaScript SDK เวอร์ชัน 9.22.0 กล่าวคือ ขณะนี้การตรวจหาแบบสำรวจแบบยาวโดยอัตโนมัติจะเปิดใช้โดยค่าเริ่มต้น หากต้องการปิดใช้ ให้ตั้งค่านี้เป็น false และโปรดเปิดปัญหา GitHub เพื่อแชร์ปัญหาที่กระตุ้นให้คุณปิดใช้การตรวจหาอัตโนมัติแบบโพลเป็นเวลานานการตั้งค่านี้ไม่สามารถใช้ได้ในสภาพแวดล้อม Node.js
experimentalForceLongPolling boolean บังคับให้การส่งเครือข่าย (WebChannel) ที่สำคัญของ SDK ใช้การทำโพลระยะยาว การตอบกลับแต่ละรายการจากแบ็กเอนด์จะปิดทันทีหลังจากที่แบ็กเอนด์ส่งข้อมูล (การตอบกลับโดยค่าเริ่มต้นจะเปิดอยู่ในกรณีที่แบ็กเอนด์มีข้อมูลที่จะส่งเพิ่มเติม) การดำเนินการนี้จะหลีกเลี่ยงปัญหาความเข้ากันไม่ได้กับพร็อกซี ซอฟต์แวร์ป้องกันไวรัส ฯลฯ บางรายการที่บัฟเฟอร์การเข้าชมอย่างไม่ถูกต้องโดยไม่มีกำหนดสิ้นสุด แต่การใช้ตัวเลือกนี้จะทำให้ประสิทธิภาพการทำงานลดลงการตั้งค่านี้ใช้ไม่ได้กับ experimentalAutoDetectLongPolling และอาจถูกนำออกในรุ่นถัดไป หากคุณพบว่าตัวเองใช้เพื่อจัดการปัญหาความเสถียรของเครือข่ายที่เฉพาะเจาะจง โปรดแจ้งให้เราทราบใน https://github.com/firebase/firebase-js-sdk/issues/1674การตั้งค่านี้ใช้ในสภาพแวดล้อม Node.js ไม่ได้
experimentalLongPollingOptions ExperimentalLongPollingOptions ตัวเลือกที่กำหนดค่าการส่งเครือข่าย (WebChannel) ที่สำคัญของ SDK เมื่อใช้การโพลแบบยาวจะใช้ตัวเลือกเหล่านี้ก็ต่อเมื่อ experimentalForceLongPolling เป็นจริงหรือหาก experimentalAutoDetectLongPolling เป็นจริง และการตรวจหาอัตโนมัติระบุว่าจำเป็นต้องมีการทำโพลระยะยาว มิเช่นนั้น ตัวเลือกเหล่านี้จะไม่มีผล
โฮสต์ สตริง ชื่อโฮสต์ที่จะเชื่อมต่อ
ignoreUndefinedProperties boolean เลือกว่าจะข้ามพร็อพเพอร์ตี้ที่ฝังซึ่งตั้งค่าเป็น undefined ระหว่างการเรียงลำดับออบเจ็กต์หรือไม่ หากตั้งค่าเป็น true ระบบจะข้ามพร็อพเพอร์ตี้เหล่านี้และไม่เขียนลงใน Firestore หากตั้งค่าเป็น false หรือละเว้น SDK จะส่งข้อยกเว้นเมื่อพบคุณสมบัติประเภท undefined
localCache FirestoreLocalCache ระบุแคชที่ SDK ใช้ ตัวเลือกที่ใช้ได้คือ MemoryLocalCache และ PersistentLocalCache โดยแต่ละรายการมีตัวเลือกการกำหนดค่าต่างกันเมื่อไม่ระบุ ระบบจะใช้ MemoryLocalCache โดยค่าเริ่มต้นหมายเหตุ: การตั้งค่าช่องนี้และ cacheSizeBytes พร้อมกันจะทำให้มีข้อยกเว้นระหว่างการเริ่มต้น SDK แต่จะใช้การกำหนดค่าในออบเจ็กต์ FirestoreLocalCache เพื่อระบุขนาดแคชแทน
SSL boolean จะใช้ SSL เมื่อเชื่อมต่อหรือไม่

FirestoreSettings.cacheSizeBytes

หมายเหตุ: เราจะเลิกใช้งานช่องนี้ในรุ่นหลักในอนาคต ใช้ช่อง cache แทนเพื่อระบุขนาดแคชและการกำหนดค่าแคชอื่นๆ

เกณฑ์ขนาดแคชโดยประมาณสำหรับข้อมูลบนดิสก์ หากแคชมีขนาดเกินกว่านี้ Firestore จะเริ่มนำข้อมูลที่ไม่ได้ใช้ล่าสุดออก ขนาดไม่ได้รับประกันว่าแคชจะอยู่ต่ำกว่าขนาดดังกล่าว แต่ในกรณีที่แคชมีขนาดเกินที่ระบุไว้ ก็จะพยายามลบระบบ

ค่าเริ่มต้นคือ 40 MB โดยต้องตั้งค่าเกณฑ์ขั้นต่ำไว้ที่ 1 MB และตั้งค่าเป็น CACHE_SIZE_UNLIMITED เพื่อปิดใช้การเก็บข้อมูลขยะได้

ลายเซ็น:

cacheSizeBytes?: number;

FirestoreSettings.experimentalAutoDetectLongPolling

กำหนดค่าการส่งที่สำคัญของ SDK (WebChannel) เพื่อตรวจหาโดยอัตโนมัติว่าควรใช้การโพลแบบยาวหรือไม่ ค่านี้คล้ายกับ experimentalForceLongPolling มาก แต่จะใช้การจัดทำแบบสำรวจแบบยาวเมื่อจําเป็นเท่านั้น

หลังจากที่ใช้ค่าเริ่มต้นเป็น false นับตั้งแต่เริ่มดำเนินการในปี 2019 ระบบได้เปลี่ยนค่าเริ่มต้นของการตั้งค่านี้ในเดือนพฤษภาคม 2023 เป็น true ใน Firebase JavaScript SDK เวอร์ชัน 9.22.0 กล่าวคือ ขณะนี้การตรวจหาแบบสำรวจแบบยาวโดยอัตโนมัติจะเปิดใช้โดยค่าเริ่มต้น หากต้องการปิดใช้ ให้ตั้งค่านี้เป็น false และโปรดเปิดปัญหา GitHub เพื่อแชร์ปัญหาที่กระตุ้นให้คุณปิดใช้การตรวจหาอัตโนมัติเป็นเวลานาน

ไม่สามารถใช้การตั้งค่านี้ในสภาพแวดล้อม Node.js

ลายเซ็น:

experimentalAutoDetectLongPolling?: boolean;

FirestoreSettings.experimentalForceLongPolling

บังคับให้การส่งเครือข่าย (WebChannel) ที่สำคัญของ SDK ใช้การทำโพลระยะยาว การตอบกลับแต่ละรายการจากแบ็กเอนด์จะปิดทันทีหลังจากที่แบ็กเอนด์ส่งข้อมูล (การตอบกลับโดยค่าเริ่มต้นจะเปิดอยู่ในกรณีที่แบ็กเอนด์มีข้อมูลที่จะส่งเพิ่มเติม) การดำเนินการนี้จะหลีกเลี่ยงปัญหาความเข้ากันไม่ได้กับพร็อกซี ซอฟต์แวร์ป้องกันไวรัส ฯลฯ บางรายการที่บัฟเฟอร์การเข้าชมอย่างไม่ถูกต้องโดยไม่มีกำหนดสิ้นสุด แต่การใช้ตัวเลือกนี้จะทำให้ประสิทธิภาพการทำงานลดลง

ใช้การตั้งค่านี้กับ experimentalAutoDetectLongPolling ไม่ได้ และอาจนำออกในรุ่นต่อๆ ไป หากคุณพบว่าตัวเองใช้เพื่อจัดการปัญหาความเสถียรของเครือข่ายที่เฉพาะเจาะจง โปรดแจ้งให้เราทราบใน https://github.com/firebase/firebase-js-sdk/issues/1674

ไม่สามารถใช้การตั้งค่านี้ในสภาพแวดล้อม Node.js

ลายเซ็น:

experimentalForceLongPolling?: boolean;

FirestoreSettings.experimentalLongPollingOptions

ตัวเลือกที่จะกำหนดค่าการส่งเครือข่าย (WebChannel) ที่สำคัญของ SDK เมื่อใช้การทำโพลเป็นเวลานาน

ระบบจะใช้ตัวเลือกเหล่านี้ก็ต่อเมื่อ experimentalForceLongPolling เป็นจริงหรือหาก experimentalAutoDetectLongPolling เป็นจริง และการตรวจหาอัตโนมัติระบุว่าต้องใช้การทำโพลอย่างยาวนาน มิเช่นนั้น ตัวเลือกเหล่านี้จะไม่มีผล

ลายเซ็น:

experimentalLongPollingOptions?: ExperimentalLongPollingOptions;

FirestoreSettings.host

ชื่อโฮสต์ที่จะเชื่อมต่อ

ลายเซ็น:

host?: string;

FirestoreSettings.ignoreUndefinedProperties

เลือกว่าจะข้ามพร็อพเพอร์ตี้ที่ฝังซึ่งตั้งค่าเป็น undefined ระหว่างการเรียงลำดับออบเจ็กต์หรือไม่ หากตั้งค่าเป็น true ระบบจะข้ามพร็อพเพอร์ตี้เหล่านี้และไม่เขียนลงใน Firestore หากตั้งค่าเป็น false หรือละเว้น SDK จะส่งข้อยกเว้นเมื่อพบพร็อพเพอร์ตี้ของประเภท undefined

ลายเซ็น:

ignoreUndefinedProperties?: boolean;

FirestoreSettings.localCache

ระบุแคชที่ SDK ใช้ ตัวเลือกที่ใช้ได้คือ MemoryLocalCache และ PersistentLocalCache โดยแต่ละรายการมีตัวเลือกการกำหนดค่าต่างกัน

เมื่อไม่ระบุ ระบบจะใช้ MemoryLocalCache โดยค่าเริ่มต้น

หมายเหตุ: การตั้งค่าช่องนี้และ cacheSizeBytes พร้อมกันจะส่งข้อยกเว้นระหว่างการเริ่มต้น SDK แต่จะใช้การกำหนดค่าในออบเจ็กต์ FirestoreLocalCache เพื่อระบุขนาดแคชแทน

ลายเซ็น:

localCache?: FirestoreLocalCache;

FirestoreSettings.ssl

จะใช้ SSL เมื่อเชื่อมต่อหรือไม่

ลายเซ็น:

ssl?: boolean;