ระบุการกำหนดค่าที่กำหนดเองสำหรับอินสแตนซ์ 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;