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