FirestoreSettings interface

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