@firebase/firestore

ฟังก์ชัน

ฟังก์ชัน คำอธิบาย
ฟังก์ชัน(แอป, ...)
getFirestore(แอป) แสดงผลอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ระบุ หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
getFirestore(แอป, รหัสฐานข้อมูล) (เบต้า) แสดงผลอินสแตนซ์ชื่อ Firestore ที่มีอยู่ ซึ่งเชื่อมโยงกับ FirebaseApp ที่ระบุ หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
initializeFirestore(แอป การตั้งค่า รหัสฐานข้อมูล) เริ่มต้นอินสแตนซ์ใหม่ของ Firestore ด้วยการตั้งค่าที่มีให้ สามารถเรียกใช้ก่อนฟังก์ชันอื่นๆ เท่านั้น ซึ่งรวมถึง getFirestore() หากการตั้งค่าที่กำหนดเองว่างเปล่า ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ getFirestore()
function(firestore, ...)
clearIndexedDbPersistence(firestore) ล้างพื้นที่เก็บข้อมูลถาวร ซึ่งรวมถึงการเขียนที่รอดำเนินการและเอกสารที่แคชไว้โดยต้องมีการเรียกใช้ในขณะที่อินสแตนซ์ Firestore ยังไม่เริ่มทำงาน (หลังจากแอปสิ้นสุดลงหรือเมื่อเริ่มต้นแอปเป็นครั้งแรก) เมื่อเริ่มต้นใช้งาน จะต้องเรียกใช้ฟังก์ชันนี้ก่อนฟังก์ชันอื่นๆ (นอกเหนือจาก initializeFirestore() หรือ getFirestore())) หากอินสแตนซ์ Firestore ยังคงทำงานอยู่ ระบบจะปฏิเสธสัญญาพร้อมรหัสข้อผิดพลาด failed-preconditionหมายเหตุ: clearIndexedDbPersistence() มีจุดประสงค์หลักเพื่อช่วยเขียนการทดสอบที่เชื่อถือได้ที่ใช้ Cloud Firestore โดยใช้กลไกที่มีประสิทธิภาพในการลบข้อมูลที่มีอยู่ แต่จะไม่พยายามเขียนทับอย่างปลอดภัยหรือทำให้ข้อมูลที่แคชไว้ไม่สามารถกู้คืนได้ สำหรับแอปพลิเคชันที่มีความไวต่อการเปิดเผยข้อมูลที่แคชไว้ระหว่างเซสชันของผู้ใช้ เราขอแนะนำไม่ให้เปิดใช้การคงอยู่เลย
collection(firestore, path, pathSegments) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันในเส้นทางสัมบูรณ์ที่ระบุ
collectionGroup(firestore, collectionsId) สร้างและแสดงผลอินสแตนซ์ Query ใหม่ที่มีเอกสารทั้งหมดในฐานข้อมูลที่มีในคอลเล็กชันหรือคอลเล็กชันย่อยที่มี collectionId ที่ระบุ
connectFirestoreEmulator(firestore, โฮสต์, พอร์ต, ตัวเลือก) แก้ไขอินสแตนซ์นี้เพื่อสื่อสารกับโปรแกรมจำลอง Cloud Firestoreหมายเหตุ: ต้องเรียกใช้อินสแตนซ์นี้ก่อนที่จะใช้อินสแตนซ์เพื่อดำเนินการใดๆ
disableNetwork(firestore) ปิดใช้การใช้งานเครือข่ายสำหรับอินสแตนซ์นี้ คุณจะเปิดใช้ได้อีกครั้งผ่าน enableNetwork() ขณะที่เครือข่ายปิดใช้อยู่ Listener ของสแนปชอต, การเรียกใช้ getDoc() หรือ getDocs() จะแสดงผลลัพธ์จากแคช และการดำเนินการเขียนทั้งหมดจะอยู่ในคิวจนกว่าจะกู้คืนเครือข่าย
doc(firestore, path, pathSegments) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารในเส้นทางสัมบูรณ์ที่ระบุ
enableIndexedDbPersistence(firestore, PersistenceSettings) พยายามเปิดใช้พื้นที่เก็บข้อมูลถาวรหากเป็นไปได้หากดำเนินการไม่สำเร็จ enableIndexedDbPersistence() จะปฏิเสธสัญญาหรือทิ้งข้อยกเว้น การเกิดข้อผิดพลาดนี้อาจเกิดจากหลายสาเหตุ ซึ่งดูได้จาก code ในข้อผิดพลาดนั้นๆ* เงื่อนไขเบื้องต้นล้มเหลว: แอปเปิดอยู่ในแท็บเบราว์เซอร์อื่นอยู่แล้ว * ไม่ได้ใช้งาน: เบราว์เซอร์ไม่สามารถทำงานร่วมกับการใช้งานการคงอยู่แบบออฟไลน์ได้โปรดทราบว่าแม้จะทำงานล้มเหลวแล้ว อินสแตนซ์ Firestore จะยังคงใช้งานได้ แต่ระบบจะปิดใช้ความต่อเนื่องแบบออฟไลน์หมายเหตุ: ต้องเรียกใช้ enableIndexedDbPersistence() ก่อนฟังก์ชันอื่นๆ (นอกเหนือจาก initializeFirestore(), getFirestore() หรือ clearIndexedDbPersistence() ไม่สามารถใช้สภาพแวดล้อม Nodesistence()
enableMultiTabIndexedDbPersistence(firestore) พยายามเปิดใช้พื้นที่เก็บข้อมูลถาวรแบบหลายแท็บหากเป็นไปได้ หากเปิดใช้ในแท็บทั้งหมด การดำเนินการทั้งหมดจะมีสิทธิ์เข้าถึงความต่อเนื่องในตัวเครื่อง รวมถึงการดำเนินการค้นหาที่แชร์และการอัปเดตเอกสารในเครื่องซึ่งชดเชยเวลาในการตอบสนองสำหรับอินสแตนซ์ทั้งหมดที่เชื่อมต่อทั้งหมดเมื่อล้มเหลว enableMultiTabIndexedDbPersistence() จะปฏิเสธสัญญาหรือโยนข้อยกเว้น ความล้มเหลวนี้อาจเกิดจากหลายสาเหตุ ซึ่งดูได้จาก code ที่มีข้อผิดพลาดนั้น* เงื่อนไขเบื้องต้นล้มเหลว: แอปเปิดอยู่แล้วในแท็บเบราว์เซอร์อื่นและไม่ได้เปิดใช้หลายแท็บ * ไม่ได้ใช้งาน: เบราว์เซอร์ไม่สามารถใช้ร่วมกับการใช้งานการคงอยู่แบบออฟไลน์ได้โปรดทราบว่าแม้จะทำงานล้มเหลว อินสแตนซ์ Firestore จะยังคงใช้งานได้ แต่ระบบจะปิดใช้ความต่อเนื่องแบบออฟไลน์
enableNetwork(firestore) เปิดใช้เครือข่ายสำหรับอินสแตนซ์ Firestore นี้อีกครั้งหลังจากเรียกใช้ disableNetwork() ก่อนหน้า
getPersistentCacheIndexManager(firestore) แสดงผลตัวจัดการดัชนี PersistentCache ซึ่งใช้โดยออบเจ็กต์ Firestore ที่ระบุ อินสแตนซ์ PersistentCacheIndexManager หรือ null หากไม่ได้ใช้งานพื้นที่เก็บข้อมูลถาวรในเครื่อง
loadBundle(firestore, bundleData) โหลดแพ็กเกจ Firestore ลงในแคชในเครื่อง
namedQuery(firestore, name) อ่านการค้นหาของ Firestore จากแคชในเครื่องซึ่งระบุด้วยชื่อที่ระบุคำค้นหาที่มีชื่อจะอยู่ในกลุ่มฝั่งเซิร์ฟเวอร์ (พร้อมด้วยเอกสารผลลัพธ์) และโหลดไปยังแคชในเครื่องโดยใช้ loadBundle เมื่ออยู่ในแคชในเครื่องแล้ว ให้ใช้วิธีการนี้เพื่อดึงข้อมูลคำค้นหาตามชื่อ
onSnapshotsInSync(firestore, ผู้สังเกตการณ์) แนบ Listener สำหรับกิจกรรมสแนปชอตในการซิงค์ เหตุการณ์ Snap-in-ซิงค์ จะบ่งชี้ว่า Listener ทั้งหมดที่ได้รับผลกระทบจากการเปลี่ยนแปลงหนึ่งๆ เริ่มทำงานแล้ว แม้ว่าการเปลี่ยนแปลงเดียวที่เซิร์ฟเวอร์สร้างขึ้นจะส่งผลกระทบต่อ Listener หลายรายการหมายเหตุ: เหตุการณ์สแนปชอตแบบซิงค์กันจะระบุว่า Listener ซิงค์กันและกันเท่านั้น แต่ไม่ได้เชื่อมโยงกับว่าสแนปชอตเหล่านั้นซิงค์กับเซิร์ฟเวอร์หรือไม่ ใช้ SnapshotMetadata ใน Listener แต่ละรายการเพื่อระบุว่าสแนปชอตมาจากแคชหรือเซิร์ฟเวอร์
onSnapshotsInSync(firestore, onSync) แนบ Listener สำหรับกิจกรรมสแนปชอตในการซิงค์ เหตุการณ์ Snap-in-ซิงค์ จะบ่งชี้ว่า Listener ทั้งหมดที่ได้รับผลกระทบจากการเปลี่ยนแปลงหนึ่งๆ เริ่มทำงานแล้ว แม้ว่าการเปลี่ยนแปลงเดียวที่เซิร์ฟเวอร์สร้างขึ้นจะส่งผลกระทบต่อ Listener หลายรายการหมายเหตุ: เหตุการณ์สแนปชอตแบบซิงค์กันจะระบุว่า Listener ซิงค์กันและกันเท่านั้น แต่ไม่ได้เชื่อมโยงกับว่าสแนปชอตเหล่านั้นซิงค์กับเซิร์ฟเวอร์หรือไม่ ใช้ SnapshotMetadata ใน Listener แต่ละรายการเพื่อระบุว่าสแนปชอตมาจากแคชหรือเซิร์ฟเวอร์
runTransaction(firestore, updateFunction, ตัวเลือก) เรียกใช้ updateFunction ที่ระบุแล้วพยายามยืนยันการเปลี่ยนแปลงที่มีผลภายในธุรกรรม หากเอกสารที่อ่านในธุรกรรมมีการเปลี่ยนแปลง Cloud Firestore จะลอง updateFunction อีกครั้ง หากพยายามดำเนินการไม่สำเร็จครบ 5 ครั้งแล้ว ธุรกรรมจะไม่สำเร็จจำนวนการเขียนสูงสุดที่อนุญาตในธุรกรรม 1 ครั้งคือ 500 ครั้ง
setIndexConfiguration(firestore, Configuration) (เบต้า) กำหนดค่าการจัดทำดัชนีสำหรับการดำเนินการค้นหาในเครื่อง ระบบจะลบล้างการกำหนดค่าดัชนีก่อนหน้านี้ Promise จะได้รับการแก้ไขเมื่อมีการกำหนดค่าดัชนีแล้วระบบจะสร้างรายการดัชนีเองแบบไม่พร้อมกัน คุณยังคงใช้คำค้นหาที่ต้องมีการจัดทําดัชนีต่อไปได้ แม้ว่าดัชนีจะยังไม่พร้อมให้บริการก็ตาม การดำเนินการค้นหาจะเริ่มใช้ดัชนีโดยอัตโนมัติเมื่อมีการเขียนรายการดัชนีแล้วระบบจะรองรับดัชนีเฉพาะที่มีความต่อเนื่องของ IndexedDb เท่านั้น หากไม่ได้เปิดใช้ IndexedDb ระบบจะไม่ประมวลผลการกำหนดค่าดัชนีใดๆ
setIndexConfiguration(firestore, json) (เบต้า) กำหนดค่าการจัดทำดัชนีสำหรับการดำเนินการค้นหาในเครื่อง ระบบจะลบล้างการกำหนดค่าดัชนีก่อนหน้านี้ Promise จะได้รับการแก้ไขเมื่อมีการกำหนดค่าดัชนีแล้วระบบจะสร้างรายการดัชนีเองแบบไม่พร้อมกัน คุณยังคงใช้คำค้นหาที่ต้องมีการจัดทําดัชนีต่อไปได้ แม้ว่าดัชนีจะยังไม่พร้อมให้บริการก็ตาม การดำเนินการค้นหาจะเริ่มใช้ดัชนีโดยอัตโนมัติเมื่อมีการเขียนรายการดัชนีแล้วระบบจะรองรับดัชนีเฉพาะที่มีความต่อเนื่องของ IndexedDb เท่านั้น เรียกใช้ enableIndexedDbPersistence() หรือ enableMultiTabIndexedDbPersistence() ก่อนตั้งค่าการกำหนดค่าดัชนี หากไม่ได้เปิดใช้ IndexedDb ระบบจะไม่สนใจการกำหนดค่าดัชนีเมธอดจะยอมรับรูปแบบ JSON ที่ Firebase CLI (firebase firestore:indexes) ส่งออก หากรูปแบบ JSON ไม่ถูกต้อง เมธอดนี้จะแสดงข้อผิดพลาด
หยุด(firestore) ยุติอินสแตนซ์ Firestore ที่ระบุหลังจากเรียก terminate() จะสามารถใช้ฟังก์ชัน clearIndexedDbPersistence() ได้เท่านั้น ฟังก์ชันอื่นๆ จะมี FirestoreErrorหากต้องการรีสตาร์ทหลังการสิ้นสุด ให้สร้างอินสแตนซ์ใหม่ของ FirebaseFirestore ด้วย getFirestore()การสิ้นสุดจะไม่ยกเลิกการเขียนที่รอดำเนินการ และจะไม่ยุติสัญญาที่กำลังรอการตอบกลับจากเซิร์ฟเวอร์ หากเปิดใช้การถาวรแล้ว ครั้งถัดไปที่คุณเริ่มต้นอินสแตนซ์นี้ อินสแตนซ์จะส่งการเขียนเหล่านี้ไปยังเซิร์ฟเวอร์ต่อหมายเหตุ: ในสถานการณ์ปกติ คุณไม่จำเป็นต้องเรียกใช้ terminate() ฟังก์ชันนี้มีประโยชน์เฉพาะเมื่อคุณต้องการบังคับให้อินสแตนซ์นี้ปล่อยทรัพยากรทั้งหมดของอินสแตนซ์หรือใช้ร่วมกับ clearIndexedDbPersistence() เพื่อดูแลให้ระบบทำลายสถานะภายในทั้งหมดระหว่างการดำเนินการทดสอบ
GETForPendingWrites(firestore) รอให้การเขียนที่รอดำเนินการทั้งหมดสำหรับผู้ใช้ที่ใช้งานอยู่ได้รับการตอบรับโดยแบ็กเอนด์แล้วสัญญาที่ส่งกลับมาจะแก้ไขทันทีหากไม่มีการเขียนที่รอดำเนินการ มิเช่นนั้น สัญญาจะรอการเขียนที่ออกก่อนหน้านี้ทั้งหมด (รวมถึงการเขียนในเซสชันแอปก่อนหน้า) แต่จะไม่รอการเขียนที่เพิ่มเข้ามาหลังจากเรียกใช้ฟังก์ชัน หากต้องการรอการเขียนเพิ่มเติม โปรดโทรหา waitForPendingWrites() อีกครั้งสัญญา waitForPendingWrites() ที่ค้างอยู่จะถูกปฏิเสธระหว่างการเปลี่ยนแปลงผู้ใช้
writeBatch(firestore) สร้างกลุ่มการเขียนที่ใช้สำหรับการเขียนหลายรายการเป็นการดำเนินการแบบอะตอมรายการเดียว จำนวนการเขียนสูงสุดที่อนุญาตใน WriteBatch เดียวคือ 500 รายการกลุ่มการเขียนจะคงอยู่แบบออฟไลน์ ซึ่งต่างจากธุรกรรม ดังนั้น จึงเหมาะสมกว่าเมื่อคุณไม่จำเป็นต้องกำหนดเงื่อนไขการเขียนในข้อมูลอ่าน
function()
จำนวนนับ() สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณจำนวนเอกสารในชุดผลลัพธ์ของการค้นหา
deleteField() แสดงผลที่ส่งสำหรับใช้กับ updateDoc() หรือ setDoc() ด้วย {merge: true} เพื่อทำเครื่องหมายช่องสำหรับลบ
documentId() แสดงผลการแจ้งเตือนพิเศษ FieldPath เพื่ออ้างถึงรหัสของเอกสาร โดยสามารถใช้ในคำค้นหาเพื่อจัดเรียงหรือกรองตามรหัสเอกสาร
getFirestore() แสดงผลอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
memoryEagerGarbageCollector() สร้างอินสแตนซ์ของ MemoryEagerGarbageCollector นอกจากนี้ยังเป็นค่าเริ่มต้นของเครื่องมือเก็บขยะ เว้นแต่จะระบุไว้เป็นอย่างอื่นอย่างชัดเจน
persistentMultiTabManager() สร้างอินสแตนซ์ของ PersistentMultipleTabManager
serverTimestamp() แสดงผลเซนติเนลที่ใช้กับ setDoc() หรือ updateDoc() เพื่อรวมการประทับเวลาที่เซิร์ฟเวอร์สร้างขึ้นในข้อมูลที่เขียน
function(รหัสฐานข้อมูล, ...)
getFirestore(databaseId) (เบต้า) แสดงผลอินสแตนซ์ชื่อ Firestore ที่มีอยู่ ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
ฟังก์ชัน(องค์ประกอบ, ...)
arrayRemove(องค์ประกอบ) แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือที่บอกเซิร์ฟเวอร์ให้นำองค์ประกอบที่กำหนดออกจากค่าอาร์เรย์ใดๆ ที่มีอยู่ในเซิร์ฟเวอร์ ระบบจะนำอินสแตนซ์ทั้งหมดของแต่ละองค์ประกอบที่ระบุออกจากอาร์เรย์ หากฟิลด์ที่แก้ไขไม่ใช่อาร์เรย์อยู่แล้ว ฟิลด์ดังกล่าวจะถูกเขียนทับด้วยอาร์เรย์ที่ว่างเปล่า
arrayUnion(องค์ประกอบ) แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ซึ่งบอกเซิร์ฟเวอร์ให้รวมองค์ประกอบที่ระบุกับค่าอาร์เรย์ใดๆ ก็ตามที่มีอยู่ในเซิร์ฟเวอร์แล้ว แต่ละองค์ประกอบที่ระบุซึ่งไม่ได้มีอยู่ในอาร์เรย์จะเพิ่มต่อท้าย หากฟิลด์ที่แก้ไขไม่ใช่อาร์เรย์ ฟิลด์ดังกล่าวจะถูกเขียนทับด้วยอาร์เรย์ที่มีอีลิเมนต์ที่ระบุ
function(ฟิลด์, ...)
ค่าเฉลี่ย(ฟิลด์) สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณค่าเฉลี่ยของช่องที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของการค้นหา
sum(ฟิลด์) สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณผลรวมของช่องที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของการค้นหา
function(fieldPath, ...)
orderBy(fieldPath, pathStr) สร้าง QueryOrderByConstraint ที่จัดเรียงผลการค้นหาตามช่องที่ระบุ โดยสามารถเลือกเรียงลำดับจากมากไปน้อยแทนที่จะเรียงจากน้อยไปมากหมายเหตุ: เอกสารที่ไม่มีช่องที่ระบุจะไม่ปรากฏในผลการค้นหา
where(fieldPath, opStr, value) สร้าง QueryFieldFilterConstraint ที่บังคับให้เอกสารต้องมีช่องที่ระบุ และค่าควรเป็นไปตามข้อจำกัดความสัมพันธ์ที่ระบุ
function(fieldValues, ...)
endAt(fieldValues) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดในช่องที่ให้ไว้ซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
endbefore(fieldValues) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดก่อนช่องที่ระบุซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
startAfter(fieldValues) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นหลังช่องที่ระบุไว้ซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
startAt(fieldValues) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นที่ช่องที่ระบุซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
function(indexManager, ...)
deleteAllPersistentCacheIndexes(indexManager) นำดัชนีแคชถาวรทั้งหมดออกโปรดทราบว่าฟังก์ชันนี้จะลบดัชนีที่ setIndexConfiguration() สร้างขึ้นซึ่งเลิกใช้งานแล้วด้วย
disablePersistentCacheIndexAutoCreation(indexManager) หยุดการสร้างดัชนีแคชถาวรโดยอัตโนมัติสำหรับการดำเนินการค้นหาในเครื่อง ดัชนีที่สร้างจากการเรียก enablePersistentCacheIndexAutoCreation() จะยังคงมีผลอยู่
enablePersistentCacheIndexAutoCreation(indexManager) เปิดใช้ SDK เพื่อสร้างดัชนีแคชถาวรโดยอัตโนมัติสำหรับการดำเนินการค้นหาในเครื่องเมื่อ SDK เชื่อว่าดัชนีแคชช่วยปรับปรุงประสิทธิภาพได้ฟีเจอร์นี้ปิดใช้อยู่โดยค่าเริ่มต้น
ฟังก์ชัน(ซ้าย, ...)
aggregateFieldEqual(ซ้าย ขวา) เปรียบเทียบอินสแตนซ์ "AggregateField" 2 รายการสำหรับความเท่าเทียมกัน
aggregateQuerySnapshotEqual(ซ้าย ขวา) เปรียบเทียบอินสแตนซ์ AggregateQuerySnapshot 2 อินสแตนซ์เพื่อความเท่ากันอินสแตนซ์ AggregateQuerySnapshot 2 อินสแตนซ์จะถือว่าเป็น "เท่ากัน" หากมีคำค้นหาพื้นฐานที่เปรียบเทียบเท่ากันและข้อมูลเดียวกัน
queryEqual(ซ้าย ขวา) แสดงผลเป็น "จริง" หากคำค้นหาที่ระบุชี้ไปยังคอลเล็กชันเดียวกันและใช้ข้อจำกัดเดียวกัน
refEqual(ซ้าย ขวา) แสดงค่า "จริง" หากการอ้างอิงที่ระบุเท่ากัน
snapshotEqual(ซ้าย ขวา) แสดงค่า "จริง" หากสแนปชอตที่ระบุเท่ากัน
function(ขีดจำกัด, ...)
ขีดจำกัด(ขีดจำกัด) สร้าง QueryLimitConstraint ที่แสดงเอกสารที่ตรงกันรายการแรกเท่านั้น
limitToLast(ขีดจำกัด) สร้าง QueryLimitConstraint ที่จะแสดงผลเอกสารที่ตรงกันล่าสุดเท่านั้นคุณต้องระบุ orderBy อย่างน้อย 1 วลีสำหรับการค้นหา limitToLast มิเช่นนั้นจะมีข้อยกเว้นระหว่างการดำเนินการ
function(logLevel, ...)
setLogLevel(logLevel) ตั้งค่าการพูดรายละเอียดของบันทึก Cloud Firestore (แก้ไขข้อบกพร่อง ข้อผิดพลาด หรือปิดเสียง)
function(n, ...)
เพิ่มขึ้น(n) แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ที่บอกเซิร์ฟเวอร์ให้เพิ่มค่าปัจจุบันของช่องด้วยค่าที่ระบุหากตัวถูกดำเนินการหรือค่าในช่องปัจจุบันใช้ความแม่นยำของจุดลอยตัว เลขคณิตทั้งหมดจะเป็นไปตามความหมาย IEEE 754 หากทั้ง 2 ค่าเป็นจำนวนเต็ม ค่าที่อยู่นอกช่วงตัวเลขที่ปลอดภัยของ JavaScript (Number.MIN_SAFE_INTEGER ถึง Number.MAX_SAFE_INTEGER) จะสูญเสียความแม่นยำด้วย นอกจากนี้ เมื่อประมวลผลโดยแบ็กเอนด์ของ Firestore การดำเนินการเป็นจำนวนเต็มทั้งหมดจะจำกัดระหว่าง -2^63 และ 2^63-1หากค่าของช่องปัจจุบันไม่ใช่ประเภท number หรือหากยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะกำหนดช่องเป็นค่าที่ระบุ
ฟังก์ชั่น(ข้อความค้นหา, ...)
getAggregateFromServer(คำค้นหา, AggregateSpec) คำนวณการรวมที่ระบุในเอกสารในชุดผลลัพธ์ของคำค้นหาที่กำหนดโดยไม่ต้องดาวน์โหลดเอกสารจริงการใช้ฟังก์ชันนี้เพื่อดำเนินการรวมมีประสิทธิภาพเนื่องจากมีเพียงค่าการรวมสุดท้ายเท่านั้น ไม่ใช่เอกสาร ที่มีการดาวน์โหลดข้อมูล ฟังก์ชันนี้ทำการรวมเอกสารได้ในกรณีที่ชุดผลลัพธ์มีขนาดใหญ่มากจนดาวน์โหลดไม่ได้ทั้งหมด (เอกสารหลายพันรายการ)ผลลัพธ์ที่ได้รับจากเซิร์ฟเวอร์จะแสดงโดยไม่มีการเปลี่ยนแปลง โดยไม่คำนึงถึงสถานะในเครื่อง กล่าวคือ เอกสารในแคชในเครื่องจะไม่ถูกนำมาพิจารณา การแก้ไขในเครื่องที่ยังไม่ได้ซิงค์กับเซิร์ฟเวอร์ ผลลัพธ์ที่ดาวน์โหลดก่อนหน้านี้ (หากมี) จะไม่ใช้ การเรียกใช้ฟังก์ชันนี้ทุกครั้งจะต้องเดินทางไป-กลับไปยังเซิร์ฟเวอร์
getCountFromServer(คำค้นหา) คำนวณจำนวนเอกสารในชุดผลลัพธ์ของข้อความค้นหาที่ระบุโดยไม่ต้องดาวน์โหลดเอกสารจริงการใช้ฟังก์ชันนี้เพื่อนับเอกสารนั้นมีประสิทธิภาพเนื่องจากจำนวนสุดท้ายเท่านั้น ไม่ใช่จำนวนเอกสาร มีการดาวน์โหลดข้อมูล ฟังก์ชันนี้จะนับเอกสารได้ในกรณีที่ชุดผลลัพธ์มีขนาดใหญ่มากจนไม่สามารถดาวน์โหลดได้ทั้งหมด (เอกสารหลายพันรายการ)ผลลัพธ์ที่ได้รับจากเซิร์ฟเวอร์จะแสดงโดยไม่มีการเปลี่ยนแปลง โดยไม่คำนึงถึงสถานะในเครื่อง กล่าวคือ เอกสารในแคชในเครื่องจะไม่ถูกนำมาพิจารณา การแก้ไขในเครื่องที่ยังไม่ได้ซิงค์กับเซิร์ฟเวอร์ ผลลัพธ์ที่ดาวน์โหลดก่อนหน้านี้ (หากมี) จะไม่ใช้ การเรียกใช้ฟังก์ชันนี้ทุกครั้งจะต้องเดินทางไป-กลับไปยังเซิร์ฟเวอร์
getDocuments(คำค้นหา) ดำเนินการค้นหาและแสดงผลลัพธ์เป็น QuerySnapshotหมายเหตุ: getDocs() จะพยายามให้ข้อมูลที่เป็นปัจจุบันเมื่อเป็นไปได้ โดยการรอข้อมูลจากเซิร์ฟเวอร์ แต่อาจแสดงผลข้อมูลที่แคชไว้หรืออาจล้มเหลวหากคุณออฟไลน์อยู่และเข้าถึงเซิร์ฟเวอร์ไม่ได้ หากต้องการระบุลักษณะการทำงานนี้ ให้เรียกใช้ getDocumentsFromCache() หรือ getDocumentsFromServer()
getDocumentsFromCache(คำค้นหา) ดำเนินการค้นหาและส่งคืนผลลัพธ์เป็น QuerySnapshot จากแคช แสดงผลชุดผลลัพธ์ที่ว่างเปล่า หากไม่มีเอกสารที่ตรงกับข้อความค้นหาในปัจจุบัน
getDocumentsFromServer(คำค้นหา) ดำเนินการค้นหาและส่งคืนผลลัพธ์เป็น QuerySnapshot จากเซิร์ฟเวอร์ แสดงผลข้อผิดพลาดหากเครือข่ายไม่พร้อมใช้งาน
onSnapshot(คำค้นหา, ผู้สังเกตการณ์) แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error คุณยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshotหมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีวันสิ้นสุด
onSnapshot(คำค้นหา ตัวเลือก ผู้สังเกตการณ์) แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error คุณยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshotหมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีวันสิ้นสุด
onSnapshot(query, onNext, onError, onCOMPLETE) แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error คุณยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshotหมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีวันสิ้นสุด
onSnapshot(query, options, onNext, onError, onlist) แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error คุณยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshotหมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีวันสิ้นสุด
query(query, CompositFilter, queryConstraints) สร้างอินสแตนซ์ใหม่ของ Query ที่เปลี่ยนแปลงไม่ได้ซึ่งจะขยายเพื่อรวมข้อจำกัดการค้นหาเพิ่มเติมด้วย
query(query, queryConstraints) สร้างอินสแตนซ์ใหม่ของ Query ที่เปลี่ยนแปลงไม่ได้ซึ่งจะขยายเพื่อรวมข้อจำกัดการค้นหาเพิ่มเติมด้วย
function(queryConstraints, ...)
และ(queryConstraints) สร้าง QueryCompositeFilterConstraint ใหม่ที่เป็นการผสมผสานของข้อจำกัดตัวกรองที่ระบุ ตัวกรองร่วมจะมีเอกสารหากตรงกับตัวกรองทั้งหมดที่ระบุ
หรือ(queryConstraints) สร้าง QueryCompositeFilterConstraint ใหม่ซึ่งเป็นการแยกส่วนข้อจำกัดตัวกรองที่ระบุ ตัวกรองการแยกประกอบด้วยเอกสารหากตรงกับตัวกรองที่ระบุ
ฟังก์ชัน(การอ้างอิง, ...)
addDoc(ข้อมูลอ้างอิง ข้อมูล) เพิ่มเอกสารใหม่ไปยัง CollectionReference ที่ระบุด้วยข้อมูลที่ระบุ ซึ่งจะเป็นการกำหนดรหัสเอกสารให้กับเอกสารโดยอัตโนมัติ
collection(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันย่อยของ reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ
collection(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันย่อยของ reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ
deleteDoc(การอ้างอิง) ลบเอกสารที่ DocumentReference ที่ระบุอ้างถึง
เอกสาร(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ หากไม่ได้ระบุเส้นทาง ระบบจะใช้รหัสที่ไม่ซ้ำกันที่สร้างขึ้นโดยอัตโนมัติสำหรับ DocumentReference ที่แสดงผล
เอกสาร(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ
getDoc(ข้อมูลอ้างอิง) อ่านเอกสารที่ DocumentReference นี้อ้างถึงหมายเหตุ: getDoc() จะพยายามให้ข้อมูลที่เป็นปัจจุบันเมื่อเป็นไปได้ด้วยการรอข้อมูลจากเซิร์ฟเวอร์ แต่อาจแสดงผลข้อมูลที่แคชไว้หรืออาจล้มเหลวหากคุณออฟไลน์อยู่และเข้าถึงเซิร์ฟเวอร์ไม่ได้ หากต้องการระบุลักษณะการทำงานนี้ ให้เรียกใช้ getDocFromCache() หรือ getDocFromServer()
getDocFromCache(ข้อมูลอ้างอิง) อ่านเอกสารที่ DocumentReference นี้อ้างอิงจากแคช แสดงผลข้อผิดพลาดถ้าเอกสารไม่ได้มีการแคชไว้
getDocFromServer(การอ้างอิง) อ่านเอกสารที่ DocumentReference นี้อ้างอิงจากเซิร์ฟเวอร์ แสดงผลข้อผิดพลาดหากเครือข่ายไม่พร้อมใช้งาน
onSnapshot(ข้อมูลอ้างอิง ผู้สังเกตการณ์) แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์รายการเดียวที่มี Callback next และ errorหมายเหตุ: แม้ว่าจะมี Callback onCompletion ให้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด
onSnapshot(ข้อมูลอ้างอิง ตัวเลือก ผู้สังเกตการณ์) แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์รายการเดียวที่มี Callback next และ errorหมายเหตุ: แม้ว่าจะมี Callback onCompletion ให้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด
onSnapshot(reference, onNext, onError, onCOMPLETE) แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์รายการเดียวที่มี Callback next และ errorหมายเหตุ: แม้ว่าจะมี Callback onCompletion ให้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด
onSnapshot(reference, options, onNext, onError, onUnderstanding) แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์รายการเดียวที่มี Callback next และ errorหมายเหตุ: แม้ว่าจะมี Callback onCompletion ให้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด
setDoc(ข้อมูลอ้างอิง ข้อมูล) เขียนในเอกสารที่อ้างถึงโดย DocumentReference นี้ ระบบจะสร้างเอกสารหากยังไม่มี
setDoc(การอ้างอิง ข้อมูล ตัวเลือก) เขียนไปยังเอกสารที่อ้างถึงโดย DocumentReference ที่ระบุ ระบบจะสร้างเอกสารหากยังไม่มี หากคุณระบุ merge หรือ mergeFields คุณจะรวมข้อมูลที่ระบุเข้ากับเอกสารที่มีอยู่ได้
updateDoc(ข้อมูลอ้างอิง ข้อมูล) อัปเดตช่องในเอกสารที่อ้างอิงโดย DocumentReference ที่ระบุ การอัปเดตจะล้มเหลวหากใช้กับเอกสารที่ไม่มีอยู่
updateDoc(การอ้างอิง, ฟิลด์, ค่า, moreFieldsAndValues) อัปเดตช่องในเอกสารที่กล่าวถึงโดย DocumentReference ที่ระบุ การอัปเดตจะล้มเหลวหากใช้กับเอกสารที่ไม่มีอยู่คุณอัปเดตช่องที่ซ้อนกันได้โดยการระบุสตริงเส้นทางช่องที่คั่นด้วยจุด หรือด้วยออบเจ็กต์ FieldPath
ฟังก์ชัน(การตั้งค่า, ...)
memoryLocalCache(การตั้งค่า) สร้างอินสแตนซ์ของ MemoryLocalCache สามารถตั้งค่าอินสแตนซ์เป็น FirestoreSettings.cache เพื่อบอก SDK ว่าควรใช้เลเยอร์แคชใด
memoryLruGarbageCollector(การตั้งค่า) สร้างอินสแตนซ์ของ MemoryLruGarbageCollectorขนาดเป้าหมายที่ระบุเป็นส่วนหนึ่งของพารามิเตอร์การตั้งค่าได้ ตัวรวบรวมจะเริ่มลบเอกสารเมื่อแคชมีขนาดเกินขนาดที่ระบุ ขนาดแคชเริ่มต้นคือ 40 MB (40 * 1024 * 1024 ไบต์)
persistentLocalCache(การตั้งค่า) สร้างอินสแตนซ์ของ PersistentLocalCache คุณตั้งค่าอินสแตนซ์เป็น FirestoreSettings.cache เพื่อบอก SDK ได้ว่าจะใช้เลเยอร์แคชใดแคชถาวรไม่สามารถใช้ในสภาพแวดล้อม Node.js ได้
persistentSingleTabManager(การตั้งค่า) สร้างอินสแตนซ์ของ PersistentSingleTabManager
ฟังก์ชัน(สแนปชอต, ...)
endAt(snapshot) สร้าง QueryEndAtConstraint ที่แก้ไขชุดผลลัพธ์ให้สิ้นสุดที่เอกสารที่ระบุ (รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของการค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา
endbefore(snapshot) สร้าง QueryEndAtConstraint ที่แก้ไขผลลัพธ์ที่กำหนดให้สิ้นสุดก่อนเอกสารที่ระบุ (ไม่รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของการค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา
startAfter(สแนปชอต) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นหลังจากเอกสารที่ระบุ (ไม่รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของคำค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา
startAt(snapshot) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นที่เอกสารที่ระบุ (รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของคำค้นหา เอกสารต้องมีช่องทั้งหมดที่ระบุไว้ใน orderBy ของการค้นหานี้
ฟังก์ชัน(ค่า, ...)
เวกเตอร์(ค่า) สร้าง VectorValue ใหม่ที่สร้างขึ้นด้วยสำเนาของอาร์เรย์ตัวเลขที่ระบุ

ชั้นเรียน

ชั้น คำอธิบาย
AggregateField (ช่องข้อมูลรวม) แสดงการรวมที่ Firestore ทำได้
AggregateQuerySnapshot ผลลัพธ์ของการดำเนินการค้นหาการรวม
ไบต์ ออบเจ็กต์ที่เปลี่ยนแปลงไม่ได้ซึ่งแสดงอาร์เรย์ของไบต์
ข้อมูลอ้างอิงคอลเล็กชัน ออบเจ็กต์ CollectionReference สามารถใช้สำหรับการเพิ่มเอกสาร รับการอ้างอิงเอกสาร และค้นหาเอกสาร (โดยใช้ query())
Documentหมายเลขอ้างอิง DocumentReference หมายถึงตำแหน่งเอกสารในฐานข้อมูล Firestore และสามารถใช้เพื่อเขียน อ่าน หรือฟังตำแหน่งได้ เอกสารในตำแหน่งที่อ้างอิงอาจมีหรือไม่มีอยู่
สแนปชอตเอกสาร DocumentSnapshot มีข้อมูลที่อ่านจากเอกสารในฐานข้อมูล Firestore สามารถดึงข้อมูลด้วย .data() หรือ .get(<field>) เพื่อรับช่องที่ต้องการสำหรับ DocumentSnapshot ที่ชี้ไปยังเอกสารที่ไม่มีอยู่ การเข้าถึงข้อมูลทั้งหมดจะส่งคืนเป็น "ไม่ระบุ" คุณสามารถใช้เมธอด exists() เพื่อยืนยันการมีอยู่ของเอกสารอย่างชัดแจ้ง
FieldPath FieldPath หมายถึงช่องในเอกสาร เส้นทางอาจประกอบด้วยชื่อช่องเดียว (ซึ่งอ้างถึงช่องระดับบนสุดในเอกสาร) หรือรายการชื่อช่อง (ซึ่งหมายถึงช่องที่ฝังในเอกสาร)สร้าง FieldPath โดยระบุชื่อช่อง หากระบุชื่อช่องมากกว่า 1 ชื่อ เส้นทางจะชี้ไปยังช่องที่ฝังในเอกสาร
ค่าฟิลด์ ค่าของ Sentinel ที่ใช้เมื่อเขียนช่องเอกสารด้วย set() หรือ update() ได้
Firestore อินเทอร์เฟซบริการ Cloud Firestoreอย่าเรียกใช้เครื่องมือสร้างนี้โดยตรง แต่ให้ใช้ getFirestore() แทน
ข้อผิดพลาดเกี่ยวกับ Firestore ข้อผิดพลาดที่แสดงผลจากการดำเนินการ Firestore
GeoPoint ออบเจ็กต์ที่เปลี่ยนแปลงไม่ได้ซึ่งแสดงสถานที่ตั้งทางภูมิศาสตร์ใน Firestore ตำแหน่งจะแสดงเป็นคู่ละติจูด/ลองจิจูดค่าละติจูดอยู่ในช่วง [-90, 90] ค่าลองจิจูดจะอยู่ในช่วง [-180, 180]
LoadBundleTask แสดงงานการโหลดแพ็กเกจ Firestore โดยจะแสดงความคืบหน้าของการโหลดชุด รวมถึงความคืบหน้าของงานและเหตุการณ์ข้อผิดพลาดAPI นี้เข้ากันได้กับ Promise<LoadBundleTaskProgress>
PersistentCacheIndexManager PersistentCacheIndexManager สำหรับการกำหนดค่าดัชนีแคชถาวรที่ใช้สำหรับการดำเนินการค้นหาในเครื่องหากต้องการใช้งาน ให้เรียกใช้ getPersistentCacheIndexManager() เพื่อรับอินสแตนซ์
คำถาม Query หมายถึงคำค้นหาที่คุณอ่านหรือฟังได้ นอกจากนี้ คุณยังสร้างออบเจ็กต์ Query ที่ปรับแต่งเองได้โดยการเพิ่มตัวกรองและเรียงลำดับ
QueryCompositeFilterConstraint QueryCompositeFilterConstraint ใช้เพื่อจำกัดชุดเอกสารที่แสดงผลโดยการค้นหาของ Firestore ให้แคบลงด้วยการใช้ตรรกะ OR หรือ AND ของ QueryFieldFilterConstraints หรือ QueryCompositeFilterConstraint หลายรายการ QueryCompositeFilterConstraint สร้างขึ้นโดยการเรียกใช้ or() หรือ and() จากนั้นจะส่งผ่านไปยัง query() เพื่อสร้างอินสแตนซ์การค้นหาใหม่ที่มี QueryCompositeFilterConstraint ด้วย
ข้อความค้นหาข้อจำกัด QueryConstraint ใช้เพื่อจำกัดชุดเอกสารที่แสดงผลโดยคำค้นหา Firestore ให้แคบลง QueryConstraintสร้างขึ้นโดยการเรียกใช้ where(), orderBy(), startAt(), startAfter(), endAfter(), endAt(), limit(), limitToLast() และส่งคำค้นหาใหม่ไปยัง limitToLast() ด้วย ซึ่งจะส่งคำค้นหาใหม่ไปยัง limitToLast() เพื่อส่งคำค้นหาใหม่ไปยัง ได้QueryConstraint
สแนปชอตของการค้นหาเอกสาร QueryDocumentSnapshot มีข้อมูลที่อ่านจากเอกสารในฐานข้อมูล Firestore ซึ่งเป็นส่วนหนึ่งของการค้นหา เอกสารดังกล่าวรับประกันว่าจะมีอยู่และจะดึงข้อมูลได้ด้วย .data() หรือ .get(<field>) เพื่อให้ได้ช่องที่เจาะจงQueryDocumentSnapshot มีแพลตฟอร์ม API เดียวกันกับ DocumentSnapshot เนื่องจากผลการค้นหาจะมีเฉพาะเอกสารที่มีอยู่ พร็อพเพอร์ตี้ exists จึงจะเป็นจริงเสมอ และ data() จะไม่แสดงผล "undefined"
ข้อความค้นหาสิ้นสุดที่ข้อจำกัด QueryEndAtConstraint ใช้เพื่อยกเว้นเอกสารจากส่วนท้ายชุดผลลัพธ์ที่แสดงผลโดยการค้นหาของ Firestore QueryEndAtConstraint สร้างขึ้นโดยการเรียกใช้ endAt() หรือ endAfter() จากนั้นจะส่งค่าไปยัง query() เพื่อสร้างอินสแตนซ์การค้นหาใหม่ที่มี QueryEndAtConstraint นี้ด้วย
QueryFieldFilterConstraint QueryFieldFilterConstraint ใช้เพื่อจำกัดชุดเอกสารที่แสดงผลโดยการค้นหาของ Firestore ให้แคบลงด้วยการกรองในช่องเอกสารอย่างน้อย 1 ช่อง QueryFieldFilterConstraint สร้างขึ้นโดยการเรียกใช้ where() และจากนั้นจะส่งไปที่ query() เพื่อสร้างอินสแตนซ์การค้นหาใหม่ที่มี QueryFieldFilterConstraint นี้ด้วยเช่นกัน
QueryLimitConstraint QueryLimitConstraint ใช้เพื่อจำกัดจำนวนเอกสารที่แสดงผลโดยการค้นหาของ Firestore QueryLimitConstraint สร้างขึ้นโดยการเรียกใช้ limit() หรือ limitToLast() แล้วส่งผ่านไปยัง query() เพื่อสร้างอินสแตนซ์การค้นหาใหม่ที่มี QueryLimitConstraint นี้ด้วย
QueryOrderByConstraint QueryOrderByConstraint ใช้เพื่อจัดเรียงชุดเอกสารที่แสดงผลโดยคำค้นหา Firestore QueryOrderByConstraint สร้างขึ้นโดยการเรียกใช้ orderBy() จากนั้นจึงส่งผ่านไปยัง query() เพื่อสร้างอินสแตนซ์การค้นหาใหม่ที่มี QueryOrderByConstraint นี้ด้วยหมายเหตุ: เอกสารที่ไม่มีช่อง orderBy จะไม่ปรากฏในผลการค้นหา
สแนปชอตข้อความค้นหา QuerySnapshot มีออบเจ็กต์ DocumentSnapshot จำนวนศูนย์รายการขึ้นไปที่แสดงผลลัพธ์ของคำค้นหา คุณสามารถเข้าถึงเอกสารเป็นอาร์เรย์ผ่านพร็อพเพอร์ตี้ docs หรือแจกแจงโดยใช้เมธอด forEach ดูจํานวนเอกสารได้ผ่านพร็อพเพอร์ตี้ empty และ size
คำค้นหาเริ่มต้นที่ข้อจำกัด QueryStartAtConstraint ใช้เพื่อยกเว้นเอกสารจากจุดเริ่มต้นของชุดผลลัพธ์ที่แสดงผลโดยการค้นหาของ Firestore QueryStartAtConstraint สร้างขึ้นโดยการเรียกใช้ startAt() หรือ startAfter() จากนั้นจึงส่งไปยัง query() เพื่อสร้างอินสแตนซ์การค้นหาใหม่ที่มี QueryStartAtConstraint นี้ด้วย
ข้อมูลเมตา ข้อมูลเมตาเกี่ยวกับสแนปชอต ซึ่งอธิบายถึงสถานะของสแนปชอต
การประทับเวลา Timestamp แสดงจุดเวลาที่ไม่ขึ้นอยู่กับเขตเวลาหรือปฏิทินใดๆ ซึ่งแสดงเป็นวินาทีและเศษส่วนของวินาทีที่ความละเอียดระดับนาโนวินาทีตามเวลา UTC Epochโดยจะเข้ารหัสโดยใช้ปฏิทินเกรกอเรียนแบบ Proleptic ซึ่งจะขยายปฏิทินเกรกอเรียนย้อนกลับไปถึงปี 1 ซึ่งจะเข้ารหัสโดยสมมติว่านาทีทั้งหมดมีความยาว 60 วินาที เช่น จำนวนวินาทีที่อวบอิ่มจะถูก "ละเลง" เพื่อที่จะได้ไม่ต้องอาศัยตารางที่ 2 ในการตีความ ซึ่งอยู่ในช่วงตั้งแต่ 0001-01-01T00:00:00Z ถึง 9999-12-31T23:59:59.999999999Zดูตัวอย่างและข้อกำหนดเพิ่มเติมได้จากคำจำกัดความของการประทับเวลา
ธุรกรรม การอ้างอิงไปยังธุรกรรมออบเจ็กต์ Transaction ที่ส่งไปยัง updateFunction ของธุรกรรมเป็นวิธีอ่านและเขียนข้อมูลภายในบริบทของธุรกรรม โปรดดู runTransaction()
ค่าเวกเตอร์ แสดงประเภทเวกเตอร์ในเอกสาร Firestore สร้างอินสแตนซ์ด้วย ค่าเวกเตอร์
WriteBatch ชุดการเขียนซึ่งใช้เพื่อดำเนินการเขียนหลายรายการเป็นหน่วยอะตอมหน่วยเดียวจะรับออบเจ็กต์ WriteBatch ได้ด้วยการเรียกใช้ writeBatch() ซึ่งจะบอกวิธีการเพิ่มการเขียนลงในกลุ่มการเขียน ระบบจะไม่คอมมิตการเขียน (หรือมองเห็นได้ในเครื่อง) จนกว่าจะมีการเรียกใช้ WriteBatch.commit()

อินเทอร์เฟซ

อินเทอร์เฟซ คำอธิบาย
AggregateSpec ระบุชุดการรวมและชื่อแทน
เปลี่ยนเอกสาร DocumentChange แสดงถึงการเปลี่ยนแปลงของเอกสารที่ตรงกับคำค้นหา เอกสารจะมีเอกสารที่ได้รับผลกระทบและประเภทการเปลี่ยนแปลงที่เกิดขึ้น
ข้อมูลเอกสาร ข้อมูลเอกสาร (สำหรับใช้กับ setDoc()) ประกอบด้วยช่องที่แมปกับค่า
ExperimentalLongPollingOptions ตัวเลือกที่จะกำหนดค่าการส่งเครือข่าย (WebChannel) ที่สำคัญของ SDK เมื่อมีการใช้โพลแบบยาวหมายเหตุ: อินเทอร์เฟซนี้เป็น "การทดลอง" และอาจมีการเปลี่ยนแปลงโปรดดู FirestoreSettings.experimentalAutoDetectLongPolling, FirestoreSettings.experimentalForceLongPolling และ FirestoreSettings.experimentalLongPollingOptions
FirestoreDataConverter ตัวแปลงที่ withConverter() ใช้เพื่อเปลี่ยนรูปแบบออบเจ็กต์ผู้ใช้ประเภท AppModelType เป็นข้อมูล Firestore ประเภท DbModelTypeการใช้ตัวแปลงช่วยให้คุณระบุอาร์กิวเมนต์ประเภททั่วไปเมื่อจัดเก็บและเรียกออบเจ็กต์จาก Firestoreในบริบทนี้ แอตทริบิวต์ "AppModel" เป็นคลาสที่ใช้ในแอปพลิเคชันเพื่อรวมข้อมูลและฟังก์ชันการทำงานที่เกี่ยวข้องเข้าด้วยกัน คลาสดังกล่าวอาจมีพร็อพเพอร์ตี้ที่มีประเภทข้อมูลที่ซ้อนกันและซับซ้อน พร็อพเพอร์ตี้ที่ใช้สำหรับบันทึก พร็อพเพอร์ตี้ของประเภทที่ Firestore ไม่รองรับ (เช่น symbol และ bigint) รวมถึงฟังก์ชันตัวช่วยดำเนินการแบบผสม คลาสดังกล่าวไม่เหมาะสมและ/หรือสามารถจัดเก็บในฐานข้อมูล Firestore โดยจะต้องแปลงอินสแตนซ์ของคลาสดังกล่าวเป็น "ออบเจ็กต์ JavaScript เก่าธรรมดา" แทน (POJO) ที่มีพร็อพเพอร์ตี้พื้นฐานเท่านั้น ซึ่งอาจฝังอยู่ใน POJO อื่นๆ หรืออาร์เรย์ของ POJO อื่นๆ ในบริบทนี้ ประเภทนี้จะเรียกว่า "DbModel" และเป็นออบเจ็กต์ที่เหมาะสำหรับการคงอยู่ใน Firestore เพื่อความสะดวก แอปพลิเคชันสามารถใช้ FirestoreDataConverter และลงทะเบียนตัวแปลงกับออบเจ็กต์ Firestore เช่น DocumentReference หรือ Query เพื่อแปลง AppModel เป็น DbModel โดยอัตโนมัติเมื่อจัดเก็บใน Firestore และแปลง DbModel เป็น AppModel เมื่อเรียกข้อมูลจาก Firestore
FirestoreSettings ระบุการกำหนดค่าที่กำหนดเองสำหรับอินสแตนซ์ Cloud Firestore คุณต้องตั้งค่าเหล่านี้ก่อนเรียกใช้วิธีการอื่นๆ
ดัชนี (เบต้า) คำจำกัดความ SDK ของดัชนี Firestore
IndexConfiguration (เบต้า) รายการดัชนี Firestore เพื่อช่วยเพิ่มความเร็วในการดำเนินการค้นหาในเครื่องดูคำอธิบายรูปแบบคำจำกัดความดัชนีได้ในรูปแบบ JSON
ฟิลด์ดัชนี (เบต้า) องค์ประกอบช่องเดียวในการกำหนดค่าดัชนี
ความคืบหน้าของ LoadBundleTask แสดงการอัปเดตความคืบหน้าหรือสถานะสุดท้ายจากการโหลด Bundle
การตั้งค่าแคชหน่วยความจำ ออบเจ็กต์การตั้งค่าเพื่อกำหนดค่าอินสแตนซ์ MemoryLocalCache
MemoryEagerGarbageCollector พนักงานเก็บขยะจะลบเอกสารเมื่อใดก็ตามที่เอกสารเหล่านั้นไม่ได้เป็นส่วนหนึ่งของการค้นหาที่ใช้งานอยู่และไม่มีการกลายพันธุ์ในเครื่องเครื่องมือรวบรวมนี้จะพยายามดูแลให้มีหน่วยความจำต่ำสุดจาก SDK จึงมีความเสี่ยงที่เอกสารจะไม่ได้รับการแคชสำหรับการค้นหาแบบออฟไลน์หรือสำหรับการค้นหาไปยังแคชโดยตรงใช้ฟังก์ชันโรงงานเพื่อสร้างอินสแตนซ์ของเครื่องมือรวบรวมนี้
MemoryLocalCache จัดเตรียมแคชในหน่วยความจำให้กับ SDK นี่คือแคชเริ่มต้น เว้นแต่จะกำหนดค่าไว้อย่างชัดแจ้งหากต้องการใช้งาน ให้สร้างอินสแตนซ์โดยใช้ฟังก์ชันเริ่มต้น จากนั้นตั้งค่าอินสแตนซ์เป็น FirestoreSettings.cache แล้วเรียกใช้ initializeFirestore โดยใช้ออบเจ็กต์การตั้งค่า
MemoryLruGarbageCollector เครื่องมือเก็บขยะจะลบเอกสารที่ใช้งานล่าสุดน้อยที่สุดออกเป็นชุดๆเครื่องมือรวบรวมนี้ได้รับการกำหนดค่าเป็นขนาดเป้าหมาย และจะดำเนินการรวบรวมเมื่อเอกสารที่แคชไว้มีขนาดเกินเป้าหมายเท่านั้น เพื่อหลีกเลี่ยงการค้นหาแบ็กเอนด์ซ้ำสำหรับการค้นหาหรือเอกสารเดียวกัน ซึ่งมีความเสี่ยงที่จะมีหน่วยความจำที่ใช้มากขึ้นใช้ฟังก์ชันโรงงานเพื่อสร้างอินสแตนซ์ของเครื่องมือรวบรวมนี้
PersistenceSettings การตั้งค่าที่ส่งไปยัง enableIndexedDbPersistence() เพื่อกำหนดค่าความต่อเนื่องของ Firestore ได้ความต่อเนื่องจะใช้ในสภาพแวดล้อม Node.js ไม่ได้
PersistentCacheSettings ออบเจ็กต์การตั้งค่าเพื่อกำหนดค่าอินสแตนซ์ PersistentLocalCacheแคชถาวรไม่สามารถใช้ในสภาพแวดล้อม Node.js
PersistentLocalCache มอบแคชถาวรที่มี IndexedDb สนับสนุนให้ SDKหากต้องการใช้งาน ให้สร้างอินสแตนซ์โดยใช้ฟังก์ชันเริ่มต้น จากนั้นตั้งค่าอินสแตนซ์เป็น FirestoreSettings.cache และเรียกใช้ initializeFirestore โดยใช้ออบเจ็กต์การตั้งค่า
PersistentMultiTabManager ตัวจัดการแท็บที่รองรับแท็บหลายแท็บ SDK จะซิงค์ข้อมูลการค้นหาและการเปลี่ยนแปลงที่ทำในแท็บทั้งหมดโดยใช้ SDK
PersistentSingleTabManager ตัวจัดการแท็บที่รองรับเพียงแท็บเดียว จะไม่มีการซิงค์ในแท็บต่างๆ
PersistentSingleTabManagerSettings พิมพ์เพื่อกำหนดค่าอินสแตนซ์ PersistentSingleTabManager
ตัวเลือกฟังสแนปชอต ออบเจ็กต์ตัวเลือกที่สามารถส่งไปยัง onSnapshot() และ QuerySnapshot.docChanges() เพื่อควบคุมประเภทการเปลี่ยนแปลงที่จะรวมไว้ในชุดผลลัพธ์ได้
ตัวเลือกสแนปชอต ตัวเลือกที่กำหนดค่าวิธีดึงข้อมูลจาก DocumentSnapshot (เช่น ลักษณะการทำงานที่ต้องการสำหรับการประทับเวลาของเซิร์ฟเวอร์ที่ยังไม่ได้กำหนดค่าสุดท้าย)
ตัวเลือกธุรกรรม ตัวเลือกในการปรับแต่งลักษณะการทำงานของธุรกรรม
ยกเลิกการสมัคร ฟังก์ชันที่แสดงผลโดย onSnapshot() ซึ่งนำ Listener ออกเมื่อเรียกใช้

ตัวแปร

ตัวแปร คำอธิบาย
CACHE_SIZE_UNLIMITED ค่าคงที่ที่ใช้เพื่อระบุว่าควรปิดใช้การเก็บขยะ LRU ตั้งค่านี้เป็น cacheSizeBytes ในการตั้งค่าที่ส่งไปยังอินสแตนซ์ Firestore

พิมพ์ชื่อแทน

พิมพ์ชื่อแทน คำอธิบาย
AddPrefixToKeys แสดงแผนที่ใหม่ที่ทุกคีย์นำหน้าด้วยคีย์ด้านนอกต่อท้ายจุด
AggregateFieldType การรวมของ AggregateField ทุกประเภทที่ Firestore รองรับ
AggregateSpecData ประเภทที่มีคีย์ซึ่งนำมาจาก AggregateSpec และมีค่าเป็นผลลัพธ์ของการรวมที่ทำโดย AggregateField ที่เกี่ยวข้องจากอินพุต AggregateSpec
AggregateType ประเภทการรวมที่แสดงประเภทการรวมที่จะดำเนินการ
ChildUpdateFields ตัวช่วยในการคำนวณช่องที่ซ้อนกันสำหรับประเภท T1 ที่กำหนด จำเป็นต่อการกระจายประเภทการรวม เช่น undefined | {...} (เกิดขึ้นสำหรับอุปกรณ์เสริมที่ไม่บังคับ) หรือ {a: A} | {b: B}ในกรณีการใช้งานนี้ V จะใช้เพื่อเผยแพร่ประเภทการรวมของ T[K] ใน Record เนื่องจาก T[K] จะได้รับการประเมินเป็นนิพจน์ ไม่ใช่กระจายโปรดดู https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
DocumentChangeType ประเภทของ DocumentChange อาจเป็น "เพิ่ม" "นำออก" หรือ "แก้ไข"
FirestoreErrorCode ชุดรหัสสถานะ Firestore รหัสจะเหมือนกันกับรหัสที่ gRPC แสดงที่ https://github.com/grpc/grpc/blob/master/doc/statuscodes.mdค่าที่เป็นไปได้คือ - 'cancelled': การดำเนินการถูกยกเลิก (โดยปกติผู้โทรมัก) - 'unknown': ข้อผิดพลาดที่ไม่รู้จัก หรือข้อผิดพลาดจากโดเมนข้อผิดพลาดอื่น - 'ภาษาที่ไม่ถูกต้อง-อาร์กิวเมนต์': ลูกค้าระบุอาร์กิวเมนต์ที่ไม่ถูกต้อง โปรดทราบว่าเงื่อนไขนี้แตกต่างจาก "เงื่อนไขที่กำหนดไว้ล่วงหน้าซึ่งระบบล้มเหลว" "การโต้แย้งที่ไม่ถูกต้อง" ระบุอาร์กิวเมนต์ที่ทำให้เกิดปัญหาโดยไม่คำนึงถึงสถานะของระบบ (เช่น ชื่อฟิลด์ที่ไม่ถูกต้อง) - 'เกินกำหนดเวลา': กำหนดเวลาหมดอายุก่อนที่การดำเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบ ข้อผิดพลาดนี้อาจได้รับการส่งกลับแม้จะดำเนินการสำเร็จแล้วก็ตาม ตัวอย่างเช่น การตอบกลับที่สำเร็จจากเซิร์ฟเวอร์อาจล่าช้าไปนานพอสมควรหมดอายุ - 'not-found': ไม่พบเอกสารที่ขอ - "มีอยู่แล้ว": มีเอกสารที่เราพยายามสร้างอยู่แล้ว - 'permission-denied': ผู้โทรไม่ได้รับอนุญาตให้เรียกใช้การดำเนินการที่ระบุ - 'ทรัพยากรหมดแล้ว': ทรัพยากรบางส่วนหมดแล้ว อาจมีโควต้าของผู้ใช้แต่ละราย หรือบางระบบไฟล์อาจหมด - 'failed-precondition': การดำเนินการถูกปฏิเสธเนื่องจากระบบไม่อยู่ในสถานะที่จำเป็นสำหรับการดำเนินการ - 'ล้มเลิก': มีการล้มเลิกการดำเนินการ โดยทั่วไปจะเกิดจากปัญหาเกิดขึ้นพร้อมกัน เช่น ล้มเลิกธุรกรรม ฯลฯ - "นอกช่วง": มีการพยายามดำเนินการเกินช่วงที่ถูกต้อง - 'ไม่ได้ใช้งาน': การทำงานไม่ได้ดำเนินการหรือไม่มีการสนับสนุน/เปิดใช้งาน - 'ภายใน': ข้อผิดพลาดภายใน หมายความว่าค่าคงที่บางส่วนที่ระบบสำคัญคาดไว้เสียหาย หากคุณเห็นข้อผิดพลาดเหล่านี้ แสดงว่ามีข้อผิดพลาดมาก - 'unavailable': บริการไม่พร้อมใช้งานในขณะนี้ ปัญหานี้อาจเกิดขึ้นชั่วคราวและอาจแก้ไขได้โดยการลองอีกครั้งโดยใช้ Backoff - 'data-loss': ข้อมูลสูญหายหรือเสียหายโดยที่กู้คืนไม่ได้ - 'unauthenticated': คำขอไม่มีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับการดำเนินการ
FirestoreLocalCache ประเภทการรวมจากเลเยอร์แคชของ SDK ทั้งหมดที่รองรับ
แหล่งที่มาของการฟัง อธิบายแหล่งที่มาของคำค้นหาตั้งค่าเป็น default เพื่อฟังการเปลี่ยนแปลงทั้งของแคชและเซิร์ฟเวอร์ ตั้งค่าเป็น cache เพื่อฟังการเปลี่ยนแปลงในแคชเท่านั้น
MemoryGarbageCollector ประเภทการรวมจากตัวเก็บรวบรวมขยะที่รองรับทั้งหมดสำหรับแคชในหน่วยความจำ
NestedUpdateFields ในแต่ละช่อง (เช่น "bar") ให้ค้นหาคีย์ที่ฝังทั้งหมด (เช่น {'bar.baz': T1, 'bar.qux': T2}) นำคีย์เหล่านั้นมาตัดกันเพื่อสร้างแผนที่เดียวที่มีคีย์ที่เป็นไปได้ทั้งหมด ซึ่งทั้งหมดนั้นทำเครื่องหมายว่าไม่บังคับ
OrderByDirection ทิศทางของคำสั่ง orderBy() จะระบุเป็น "desc" หรือ "asc" (มากไปน้อยหรือน้อยไปมาก)
บางส่วนของWithFieldValue คล้ายกับ Partial<T> ของ TypeScript แต่อนุญาตให้ละเว้นฟิลด์ที่ซ้อนอยู่และส่ง FieldValues เป็นค่าพร็อพเพอร์ตี้ได้
PersistentTabManager การรวมผู้จัดการแท็บที่มีอยู่ทั้งหมด
พื้นฐาน ประเภทพื้นฐาน
QueryConstraintType อธิบายข้อจำกัดการค้นหาแบบต่างๆ ที่มีใน SDK นี้
QueryFilterConstraint QueryFilterConstraint เป็นการรวมประเภท Helper ที่แสดงถึง QueryFieldFilterConstraint และ QueryCompositeFilterConstraint
QueryNonFilterConstraint QueryNonFilterConstraint เป็นการรวมประเภท Helper ที่แสดงถึง QueryConstraints ซึ่งใช้ในการจำกัดหรือจัดลำดับชุดเอกสาร แต่ไม่ได้กรองในช่องเอกสารอย่างชัดแจ้ง QueryNonFilterConstraintสร้างขึ้นโดยการเรียกใช้ orderBy(), startAt(), startAfter(), endbefore(), endAt(), limit() หรือ limitToLast() จากนั้นก็จะส่งผ่านไปยัง query() เพื่อสร้างการค้นหาใหม่ด้วยQueryConstraint
SetOptions ออบเจ็กต์ตัวเลือกที่กำหนดลักษณะการทำงานของ setDoc() และการเรียก การกำหนดค่าการเรียกเหล่านี้ให้ทำการผสานแบบละเอียดแทนการเขียนทับเอกสารเป้าหมายทั้งหมดได้โดยการระบุ SetOptions ด้วย merge: true
TaskState แสดงสถานะของงานการโหลดแพ็กเกจทั้ง 2 อย่าง "ข้อผิดพลาด" และ "สำเร็จ" อยู่ในสถานะจม: งานจะล้มเลิกหรือเสร็จสมบูรณ์ และจะไม่มีการอัปเดตเพิ่มเติมหลังจากที่มีการรายงาน
ทางแยกสหภาพ เมื่อมีประเภทสหภาพ U = T1 | T2 | ... จะแสดงผลประเภทที่มีเส้นตัดกัน (T1 & T2 & ...)ใช้ประเภทเงื่อนไขแบบกระจายและการอนุมานจากประเภทเงื่อนไข ซึ่งวิธีนี้ได้ผลเนื่องจากตัวเลือกหลายตัวสำหรับตัวแปรประเภทเดียวกันในตำแหน่งต่างๆ ของตัวแปรจะทำให้ระบบอนุมานประเภทจุดตัด https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type
อัปเดตข้อมูล อัปเดตข้อมูล (เพื่อใช้กับ updateDoc()) ที่ประกอบด้วยเส้นทางช่อง (เช่น "foo" หรือ "foo.baz") ที่แมปกับค่า ช่องที่มีจุดอ้างอิงช่องที่ซ้อนกันภายในเอกสาร สามารถส่ง FieldValue เป็นค่าพร็อพเพอร์ตี้ได้
ตำแหน่งFilterOp ระบุเงื่อนไขตัวกรองในคำสั่ง where() โดยใช้สตริง "&lt;", '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any' และ "not-in"
มีฟิลด์ค่า อนุญาตให้ส่ง FieldValues เป็นค่าพร็อพเพอร์ตี้โดยยังคงรักษาความปลอดภัยของประเภท

ฟังก์ชัน(แอป, ...)

getFirestore(แอป)

แสดงผลอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ระบุ หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น

ลายเซ็น:

export declare function getFirestore(app: FirebaseApp): Firestore;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
แอป แอป Firebase อินสแตนซ์ FirebaseApp ที่เชื่อมโยงกับอินสแตนซ์ Firestore ที่แสดงผลเชื่อมโยงอยู่

การคืนสินค้า:

Firestore

อินสแตนซ์ Firestore เริ่มต้นของแอปที่ระบุ

getFirestore(แอป, รหัสฐานข้อมูล)

API นี้เป็นเพียงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์และอาจเปลี่ยนแปลงไปตามความคิดเห็นที่เราได้รับ อย่าใช้ API นี้ในสภาพแวดล้อมที่ใช้งานจริง

แสดงผลอินสแตนซ์ Firestore ที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ระบุ หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น

ลายเซ็น:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
แอป แอป Firebase อินสแตนซ์ FirebaseApp ที่เชื่อมโยงกับอินสแตนซ์ Firestore ที่แสดงผลเชื่อมโยงอยู่
รหัสฐานข้อมูล สตริง ชื่อของฐานข้อมูล

การคืนสินค้า:

Firestore

อินสแตนซ์ Firestore ของแอปที่ระบุ

เริ่มต้นFirestore(แอป, การตั้งค่า, รหัสฐานข้อมูล)

เริ่มต้นอินสแตนซ์ใหม่ของ Firestore ด้วยการตั้งค่าที่มีให้ สามารถเรียกใช้ก่อนฟังก์ชันอื่นๆ เท่านั้น ซึ่งรวมถึง getFirestore() หากการตั้งค่าที่กำหนดเองว่างเปล่า ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ getFirestore()

ลายเซ็น:

export declare function initializeFirestore(app: FirebaseApp, settings: FirestoreSettings, databaseId?: string): Firestore;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
แอป แอป Firebase FirebaseApp ที่จะเชื่อมโยงอินสแตนซ์ Firestore
การตั้งค่า FirestoreSettings ออบเจ็กต์การตั้งค่าที่จะกำหนดค่าอินสแตนซ์ Firestore
รหัสฐานข้อมูล สตริง ชื่อของฐานข้อมูล

การคืนสินค้า:

Firestore

อินสแตนซ์ Firestore เริ่มต้นใหม่

ฟังก์ชัน(firestore, ...)

clearIndexedDbPersistence(firestore)

ล้างพื้นที่เก็บข้อมูลถาวร ซึ่งรวมถึงการเขียนที่รอดำเนินการและเอกสารที่แคชไว้

ต้องเรียกใช้ในขณะที่อินสแตนซ์ Firestore ยังไม่เริ่มทำงาน (หลังจากแอปสิ้นสุดลงหรือเมื่อแอปเริ่มต้นเป็นครั้งแรก) เมื่อเริ่มต้นใช้งาน จะต้องเรียกใช้ฟังก์ชันนี้ก่อนฟังก์ชันอื่นๆ (นอกเหนือจาก initializeFirestore() หรือ getFirestore())) หากอินสแตนซ์ Firestore ยังคงทำงานอยู่ ระบบจะปฏิเสธสัญญาพร้อมรหัสข้อผิดพลาด failed-precondition

ลายเซ็น:

export declare function clearIndexedDbPersistence(firestore: Firestore): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะล้างความต่อเนื่อง

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ที่ได้รับการแก้ไขเมื่อล้างพื้นที่เก็บข้อมูลถาวรแล้ว มิฉะนั้น ระบบจะปฏิเสธสัญญาโดยมีข้อผิดพลาด

คอลเล็กชัน(Firestore, เส้นทาง, กลุ่มเส้นทาง)

รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันในเส้นทางสัมบูรณ์ที่ระบุ

ลายเซ็น:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore การอ้างอิงไปยังอินสแตนซ์ Firestore รูท
เส้นทาง สตริง เส้นทางที่คั่นด้วยเครื่องหมายทับไปยังคอลเล็กชัน
กลุ่มเส้นทาง สตริง[] กลุ่มเส้นทางเพิ่มเติมที่จะนำไปใช้โดยสัมพันธ์กับอาร์กิวเมนต์แรก

การคืนสินค้า:

CollectionReference<DocumentData, DocumentData>

อินสแตนซ์ CollectionReference

ข้อยกเว้น

หากเส้นทางสุดท้ายมีจำนวนกลุ่มเท่ากันและไม่ได้ชี้ไปที่คอลเล็กชัน

CollectionGroup(firestore, collectionsId)

สร้างและแสดงผลอินสแตนซ์ Query ใหม่ที่มีเอกสารทั้งหมดในฐานข้อมูลที่มีในคอลเล็กชันหรือคอลเล็กชันย่อยที่มี collectionId ที่ระบุ

ลายเซ็น:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

พารามิเตอร์

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

การคืนสินค้า:

การค้นหา<DocumentData, DocumentData>

Query ที่สร้างขึ้น

ConnectFirestoreEmulator(firestore, โฮสต์, พอร์ต, ตัวเลือก)

แก้ไขอินสแตนซ์นี้เพื่อสื่อสารกับโปรแกรมจำลอง Cloud Firestore

ลายเซ็น:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะกำหนดค่าเพื่อเชื่อมต่อกับโปรแกรมจำลอง
ผู้จัด สตริง โฮสต์โปรแกรมจำลอง (เช่น localhost)
พอร์ต ตัวเลข พอร์ตโปรแกรมจำลอง (เช่น 9000)
ตัวเลือก { mockUserToken?: EmulatorMockTokenOptions | string;สตริง; }

การคืนสินค้า:

เป็นโมฆะ

disabledNetwork(firestore)

ปิดใช้การใช้งานเครือข่ายสำหรับอินสแตนซ์นี้ คุณจะเปิดใช้ได้อีกครั้งผ่าน enableNetwork() ขณะที่เครือข่ายปิดใช้อยู่ Listener ของสแนปชอต, การเรียกใช้ getDoc() หรือ getDocs() จะแสดงผลลัพธ์จากแคช และการดำเนินการเขียนทั้งหมดจะอยู่ในคิวจนกว่าจะกู้คืนเครือข่าย

ลายเซ็น:

export declare function disableNetwork(firestore: Firestore): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promiseที่ได้รับการแก้ไขเมื่อเครือข่ายถูกปิดใช้

doc(firestore, เส้นทาง, กลุ่มเส้นทาง)

รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารในเส้นทางสัมบูรณ์ที่ระบุ

ลายเซ็น:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore การอ้างอิงไปยังอินสแตนซ์ Firestore รูท
เส้นทาง สตริง เส้นทางที่คั่นด้วยเครื่องหมายทับไปยังเอกสาร
กลุ่มเส้นทาง สตริง[] กลุ่มเส้นทางเพิ่มเติมที่จะนำไปใช้โดยสัมพันธ์กับอาร์กิวเมนต์แรก

การคืนสินค้า:

DocumentReference<DocumentData, DocumentData>

อินสแตนซ์ DocumentReference

ข้อยกเว้น

หากเส้นทางสุดท้ายมีจำนวนกลุ่มเป็นคี่และไม่ได้ชี้ไปที่เอกสาร

enabledIndexedDbPersistence(firestore, Persistence)

เราจะนำฟังก์ชันนี้ออกในรุ่นหลักในอนาคต ให้ตั้งค่า FirestoreSettings.localCache เป็นอินสแตนซ์ PersistentLocalCache แทนเพื่อเปิดใช้แคช IndexedDb การเรียกใช้ฟังก์ชันนี้เมื่อระบุ FirestoreSettings.localCache แล้วจะส่งข้อยกเว้น

พยายามเปิดใช้พื้นที่เก็บข้อมูลถาวรหากเป็นไปได้

หากไม่สำเร็จ enableIndexedDbPersistence() จะปฏิเสธสัญญาหรือส่งข้อยกเว้น การทำขั้นตอนนี้ไม่สำเร็จอาจเกิดจากหลายสาเหตุ ซึ่งดูได้จาก code ในข้อผิดพลาด

* เงื่อนไขเบื้องต้นล้มเหลว: แอปเปิดอยู่แล้วในแท็บเบราว์เซอร์อื่น * ไม่ได้ใช้งาน: เบราว์เซอร์ไม่สามารถทำงานร่วมกับการใช้งานต่อเนื่องแบบออฟไลน์

โปรดทราบว่าแม้จะล้มเหลวแล้ว อินสแตนซ์ Firestore จะยังคงใช้งานได้ แต่ระบบจะปิดใช้ความต่อเนื่องแบบออฟไลน์

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

ลายเซ็น:

export declare function enableIndexedDbPersistence(firestore: Firestore, persistenceSettings?: PersistenceSettings): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะเปิดใช้การคงอยู่
การตั้งค่าต่อเนื่อง PersistenceSettings ออบเจ็กต์การตั้งค่าที่ไม่บังคับเพื่อกำหนดค่าการคงอยู่

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise หมายถึงการเปิดใช้พื้นที่เก็บข้อมูลถาวรสำเร็จ

enabledMultiTabIndexedDbPersistence(firestore)

เราจะนำฟังก์ชันนี้ออกในรุ่นหลักในอนาคต แต่ให้ตั้งค่า FirestoreSettings.localCache เป็นอินสแตนซ์ PersistentLocalCache แทน เพื่อเปิดแคชที่มีการจัดทำดัชนี การเรียกใช้ฟังก์ชันนี้เมื่อระบุ FirestoreSettings.localCache แล้วจะส่งข้อยกเว้น

พยายามเปิดใช้พื้นที่เก็บข้อมูลถาวรแบบหลายแท็บหากเป็นไปได้ หากเปิดใช้ในแท็บทั้งหมด การดำเนินการทั้งหมดจะแชร์สิทธิ์เข้าถึงความต่อเนื่องในเครื่อง รวมถึงการดำเนินการค้นหาที่แชร์และการอัปเดตเอกสารในเครื่องซึ่งชดเชยเวลาในการตอบสนองในอินสแตนซ์ทั้งหมดที่เชื่อมต่อ

หากไม่สำเร็จ enableMultiTabIndexedDbPersistence() จะปฏิเสธสัญญาหรือส่งข้อยกเว้น การทำขั้นตอนนี้ไม่สำเร็จอาจเกิดจากหลายสาเหตุ ซึ่งดูได้จาก code ในข้อผิดพลาด

* เงื่อนไขเบื้องต้นล้มเหลว: แอปเปิดอยู่แล้วในแท็บเบราว์เซอร์อื่นและไม่ได้เปิดใช้หลายแท็บ * ไม่ได้ใช้งาน: เบราว์เซอร์ไม่สามารถทำงานร่วมกับการใช้งานต่อเนื่องแบบออฟไลน์

โปรดทราบว่าแม้จะล้มเหลวแล้ว อินสแตนซ์ Firestore จะยังคงใช้งานได้ แต่ระบบจะปิดใช้ความต่อเนื่องแบบออฟไลน์

ลายเซ็น:

export declare function enableMultiTabIndexedDbPersistence(firestore: Firestore): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะเปิดใช้การคงอยู่

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise หมายถึงการเปิดใช้พื้นที่เก็บข้อมูลถาวรสำเร็จ

ให้เปิดใช้เครือข่าย(firestore)

เปิดใช้เครือข่ายสำหรับอินสแตนซ์ Firestore นี้อีกครั้งหลังจากเรียกใช้ disableNetwork() ก่อนหน้า

ลายเซ็น:

export declare function enableNetwork(firestore: Firestore): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ที่ได้รับการแก้ไขเมื่อเปิดใช้เครือข่ายแล้ว

getPersistentCacheIndexManager(firestore)

แสดงผลตัวจัดการดัชนี PersistentCache ซึ่งใช้โดยออบเจ็กต์ Firestore ที่ระบุ

อินสแตนซ์ PersistentCacheIndexManager หรือ null หากไม่ได้ใช้งานพื้นที่เก็บข้อมูลถาวรในเครื่อง

ลายเซ็น:

export declare function getPersistentCacheIndexManager(firestore: Firestore): PersistentCacheIndexManager | null;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore

การคืนสินค้า:

PersistentCacheIndexManager | ค่าว่าง

loadBundle(Firestore, BundleData)

โหลดแพ็กเกจ Firestore ลงในแคชในเครื่อง

ลายเซ็น:

export declare function loadBundle(firestore: Firestore, bundleData: ReadableStream<Uint8Array> | ArrayBuffer | string): LoadBundleTask;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะใช้โหลดแพ็กเกจ
ข้อมูลชุด สตรีมที่อ่านได้<Uint8Array> | ArrayBuffer | สตริง ออบเจ็กต์ที่แสดงถึง Bundle ที่จะโหลด ออบเจ็กต์ที่ถูกต้องคือ ArrayBuffer, ReadableStream<Uint8Array> หรือ string

การคืนสินค้า:

LoadBundleTask

ออบเจ็กต์ LoadBundleTask ซึ่งแจ้งให้ผู้โทรทราบเกี่ยวกับการอัปเดตความคืบหน้า รวมถึงเหตุการณ์การเสร็จสมบูรณ์หรือข้อผิดพลาด ซึ่งใช้เป็น Promise<LoadBundleTaskProgress> ได้

nameQuery(firestore, name)

อ่านการค้นหาของ Firestore จากแคชในเครื่องซึ่งระบุโดยใช้ชื่อจริง

คำค้นหาที่มีชื่อจะอยู่ในแพ็กเกจที่ฝั่งเซิร์ฟเวอร์ (พร้อมเอกสารผลลัพธ์) และโหลดไปยังแคชในเครื่องโดยใช้ loadBundle เมื่ออยู่ในแคชในเครื่องแล้ว ให้ใช้วิธีการนี้เพื่อดึงข้อมูลคำค้นหาตามชื่อ

ลายเซ็น:

export declare function namedQuery(firestore: Firestore, name: string): Promise<Query | null>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะอ่านการค้นหา
name สตริง ชื่อของการค้นหา

การคืนสินค้า:

คำมั่นสัญญา<การค้นหา | ค่าว่าง>

Promise ที่ได้ข้อยุติด้วยคำค้นหาหรือ null

onSnapshotsInSync(firestore, ผู้สังเกตการณ์)

แนบ Listener สำหรับกิจกรรมสแนปชอตในการซิงค์ เหตุการณ์ Snap-in-ซิงค์ ระบุว่า Listener ทั้งหมดที่ได้รับผลกระทบจากการเปลี่ยนแปลงหนึ่งๆ ได้เริ่มทำงานแล้ว แม้ว่าการเปลี่ยนแปลงเดียวที่เซิร์ฟเวอร์สร้างขึ้นจะส่งผลกระทบต่อ Listener หลายรายการก็ตาม

หมายเหตุ: เหตุการณ์สแนปชอตในการซิงค์จะระบุว่า Listener ซิงค์กันเท่านั้น แต่ไม่ได้เชื่อมโยงกับว่าสแนปชอตเหล่านั้นซิงค์กับเซิร์ฟเวอร์หรือไม่ ใช้ SnapshotMetadata ใน Listener แต่ละรายการเพื่อระบุว่าสแนปชอตมาจากแคชหรือเซิร์ฟเวอร์

ลายเซ็น:

export declare function onSnapshotsInSync(firestore: Firestore, observer: {
    next?: (value: void) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ของ Firestore สำหรับการซิงค์สแนปชอต
ผู้สังเกตการณ์ { ถัดไป?: (ค่า: โมฆะ) => โมฆะ; ?: (ข้อผิดพลาด: FirestoreError) => โมฆะ; เสร็จสมบูรณ์: () => โมฆะ; } ออบเจ็กต์เดียวที่มี Callback next และ error

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshotsInSync(firestore, onSync)

แนบ Listener สำหรับกิจกรรมสแนปชอตในการซิงค์ เหตุการณ์ Snap-in-ซิงค์ ระบุว่า Listener ทั้งหมดที่ได้รับผลกระทบจากการเปลี่ยนแปลงหนึ่งๆ ได้เริ่มทำงานแล้ว แม้ว่าการเปลี่ยนแปลงเดียวที่เซิร์ฟเวอร์สร้างขึ้นจะส่งผลกระทบต่อ Listener หลายรายการก็ตาม

หมายเหตุ: เหตุการณ์สแนปชอตในการซิงค์จะระบุว่า Listener ซิงค์กันเท่านั้น แต่ไม่ได้เชื่อมโยงกับว่าสแนปชอตเหล่านั้นซิงค์กับเซิร์ฟเวอร์หรือไม่ ใช้ SnapshotMetadata ใน Listener แต่ละรายการเพื่อระบุว่าสแนปชอตมาจากแคชหรือเซิร์ฟเวอร์

ลายเซ็น:

export declare function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore สำหรับการซิงค์สแนปชอต
การซิงค์ () => เป็นโมฆะ ระบบจะเรียก Callback ทุกครั้งที่ Listener ของสแนปชอตทั้งหมดซิงค์กัน

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

RunTransaction(firestore, updateFunction, ตัวเลือก)

เรียกใช้ updateFunction ที่ระบุแล้วพยายามยืนยันการเปลี่ยนแปลงที่มีผลภายในธุรกรรม หากเอกสารที่อ่านในธุรกรรมมีการเปลี่ยนแปลง Cloud Firestore จะลอง updateFunction อีกครั้ง หากดำเนินการไม่สำเร็จหลังจากพยายามครบ 5 ครั้งแล้ว ธุรกรรมจะไม่สำเร็จ

จำนวนการเขียนสูงสุดที่อนุญาตในธุรกรรมเดียวคือ 500

ลายเซ็น:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore การอ้างอิงฐานข้อมูล Firestore สำหรับใช้ทำธุรกรรมนี้
อัปเดตฟังก์ชัน (transaction: ธุรกรรม) => สัญญา<T> ฟังก์ชันที่จะดำเนินการภายในบริบทของธุรกรรม
ตัวเลือก ตัวเลือกธุรกรรม ออบเจ็กต์ตัวเลือกเพื่อกำหนดจำนวนครั้งสูงสุดในการคอมมิต

การคืนสินค้า:

สัญญา<T>

หากธุรกรรมเสร็จสมบูรณ์หรือมีการล้มเลิกอย่างชัดเจน (updateFunction แสดงการสัญญาที่ไม่สำเร็จ) ระบบจะแสดงผลสัญญาที่ updateFunction ส่งคืนที่นี่ มิเช่นนั้น หากธุรกรรมล้มเหลว ระบบจะส่งกลับสัญญาที่ถูกปฏิเสธพร้อมข้อผิดพลาดเกี่ยวกับความล้มเหลวที่สอดคล้องกัน

setIndexConfiguration(firestore, การกำหนดค่า)

API นี้เป็นเพียงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์และอาจเปลี่ยนแปลงไปตามความคิดเห็นที่เราได้รับ อย่าใช้ API นี้ในสภาพแวดล้อมที่ใช้งานจริง

ลองใช้ enablePersistentCacheIndexAutoCreation() แทนการสร้างดัชนีแคชด้วยตนเองเพื่อให้ SDK ตัดสินใจว่าจะสร้างดัชนีแคชสำหรับการค้นหาที่ทำงานในเครื่องหรือไม่

กำหนดค่าการจัดทำดัชนีสำหรับการดำเนินการค้นหาในเครื่อง ระบบจะลบล้างการกำหนดค่าดัชนีก่อนหน้านี้ Promise จะได้รับการแก้ไขเมื่อมีการเก็บการกำหนดค่าดัชนีไว้

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

ระบบจะรองรับดัชนีเฉพาะที่มีความต่อเนื่องของ IndexedDb เท่านั้น หากไม่ได้เปิดใช้ IndexedDb ระบบจะไม่ประมวลผลการกำหนดค่าดัชนีใดๆ

ลายเซ็น:

export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะกำหนดค่าดัชนี
การกำหนดค่า IndexConfiguration คําจํากัดความของดัชนี

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ที่ได้รับการแก้ไขเมื่อกำหนดค่าดัชนีทั้งหมดเรียบร้อยแล้ว

ข้อยกเว้น

FirestoreError หากรูปแบบ JSON ไม่ถูกต้อง

setIndexConfiguration(firestore, JSON)

API นี้เป็นเพียงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์และอาจเปลี่ยนแปลงไปตามความคิดเห็นที่เราได้รับ อย่าใช้ API นี้ในสภาพแวดล้อมที่ใช้งานจริง

ลองใช้ enablePersistentCacheIndexAutoCreation() แทนการสร้างดัชนีแคชด้วยตนเองเพื่อให้ SDK ตัดสินใจว่าจะสร้างดัชนีแคชสำหรับการค้นหาที่ทำงานในเครื่องหรือไม่

กำหนดค่าการจัดทำดัชนีสำหรับการดำเนินการค้นหาในเครื่อง ระบบจะลบล้างการกำหนดค่าดัชนีก่อนหน้านี้ Promise จะได้รับการแก้ไขเมื่อมีการเก็บการกำหนดค่าดัชนีไว้

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

ระบบจะรองรับดัชนีเฉพาะที่มีความต่อเนื่องของ IndexedDb เท่านั้น เรียกใช้ enableIndexedDbPersistence() หรือ enableMultiTabIndexedDbPersistence() ก่อนตั้งค่าการกำหนดค่าดัชนี หากไม่ได้เปิดใช้ IndexedDb ระบบจะไม่ประมวลผลการกำหนดค่าดัชนีใดๆ

เมธอดนี้ยอมรับรูปแบบ JSON ที่ Firebase CLI (firebase firestore:indexes) ส่งออก หากรูปแบบ JSON ไม่ถูกต้อง เมธอดนี้จะแสดงข้อผิดพลาด

ลายเซ็น:

export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore อินสแตนซ์ Firestore ที่จะกำหนดค่าดัชนี
JSON สตริง รูปแบบ JSON ที่ส่งออกโดย Firebase CLI

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ที่ได้รับการแก้ไขเมื่อกำหนดค่าดัชนีทั้งหมดเรียบร้อยแล้ว

ข้อยกเว้น

FirestoreError หากรูปแบบ JSON ไม่ถูกต้อง

สิ้นสุด(firestore)

ยุติอินสแตนซ์ Firestore ที่ระบุ

หลังจากเรียก terminate() แล้ว ระบบจะสามารถใช้ฟังก์ชัน clearIndexedDbPersistence() ได้เท่านั้น ฟังก์ชันอื่นๆ จะแสดง FirestoreError

หากต้องการรีสตาร์ทหลังการสิ้นสุด ให้สร้างอินสแตนซ์ใหม่ของ FirebaseFirestore ด้วย getFirestore()

การสิ้นสุดจะไม่ยกเลิกการเขียนที่รอดำเนินการ และสัญญาใดๆ ที่กำลังรอการตอบสนองจากเซิร์ฟเวอร์จะไม่ได้รับการแก้ไข หากคุณเปิดใช้การถาวร ครั้งต่อไปที่คุณเริ่มต้นอินสแตนซ์นี้ อินสแตนซ์จะส่งการเขียนเหล่านี้ไปยังเซิร์ฟเวอร์ต่อ

ลายเซ็น:

export declare function terminate(firestore: Firestore): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ที่แก้ไขแล้วเมื่อยุติอินสแตนซ์เรียบร้อยแล้ว

โปรดรอForPendingWrites(firestore)

รอจนกว่าแบ็กเอนด์จะรับทราบการเขียนที่รอดำเนินการทั้งหมดสำหรับผู้ใช้ที่ใช้งานอยู่

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

สัญญา waitForPendingWrites() ที่ค้างอยู่จะถูกปฏิเสธระหว่างการเปลี่ยนแปลงผู้ใช้

ลายเซ็น:

export declare function waitForPendingWrites(firestore: Firestore): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ซึ่งแก้ไขเมื่อแบ็กเอนด์รับทราบการเขียนที่รอดำเนินการทั้งหมด

WriteBatch(firestore)

สร้างกลุ่มการเขียนที่ใช้สำหรับการเขียนหลายรายการเป็นการดำเนินการแบบอะตอมรายการเดียว จำนวนการเขียนสูงสุดที่อนุญาตใน WriteBatch เดียวคือ 500 ไฟล์

การเขียนแบบกลุ่มนั้นแตกต่างจากธุรกรรมตรงที่จะคงกลุ่มการเขียนไว้แบบออฟไลน์ ดังนั้นจึงเหมาะสมกว่าเมื่อคุณไม่จำเป็นต้องกำหนดเงื่อนไขการเขียนในข้อมูลอ่านแล้ว

ลายเซ็น:

export declare function writeBatch(firestore: Firestore): WriteBatch;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
firestore Firestore

การคืนสินค้า:

WriteBatch

WriteBatch ที่ใช้เพื่อเรียกใช้การเขียนหลายรายการได้ในระดับอะตอม

ฟังก์ชัน()

จำนวน()

สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณจำนวนเอกสารในชุดผลลัพธ์ของการค้นหา

ลายเซ็น:

export declare function count(): AggregateField<number>;

การคืนสินค้า:

AggregateField<number>

deleteField()

แสดงผลที่ส่งสำหรับใช้กับ updateDoc() หรือ setDoc() ด้วย {merge: true} เพื่อทำเครื่องหมายช่องสำหรับลบ

ลายเซ็น:

export declare function deleteField(): FieldValue;

การคืนสินค้า:

ค่าฟิลด์

documentId()

แสดงผลการแจ้งเตือนพิเศษ FieldPath เพื่ออ้างถึงรหัสของเอกสาร โดยสามารถใช้ในคำค้นหาเพื่อจัดเรียงหรือกรองตามรหัสเอกสาร

ลายเซ็น:

export declare function documentId(): FieldPath;

การคืนสินค้า:

FieldPath

getFirestore()

แสดงผลอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น

ลายเซ็น:

export declare function getFirestore(): Firestore;

การคืนสินค้า:

Firestore

อินสแตนซ์ Firestore เริ่มต้นของแอปเริ่มต้น

MemoryEagerGarbageCollector()

สร้างอินสแตนซ์ของ MemoryEagerGarbageCollector นอกจากนี้ยังเป็นค่าเริ่มต้นของเครื่องมือเก็บขยะ เว้นแต่จะระบุไว้เป็นอย่างอื่นอย่างชัดเจน

ลายเซ็น:

export declare function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;

การคืนสินค้า:

MemoryEagerGarbageCollector

PerserialTabManager()

สร้างอินสแตนซ์ของ PersistentMultipleTabManager

ลายเซ็น:

export declare function persistentMultipleTabManager(): PersistentMultipleTabManager;

การคืนสินค้า:

PersistentMultiTabManager

ServerTimestamp()

แสดงผลเซนติเนลที่ใช้กับ setDoc() หรือ updateDoc() เพื่อรวมการประทับเวลาที่เซิร์ฟเวอร์สร้างขึ้นในข้อมูลที่เขียน

ลายเซ็น:

export declare function serverTimestamp(): FieldValue;

การคืนสินค้า:

ค่าฟิลด์

ฟังก์ชัน(รหัสฐานข้อมูล, ...)

getFirestore(รหัสฐานข้อมูล)

API นี้เป็นเพียงตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์และอาจเปลี่ยนแปลงไปตามความคิดเห็นที่เราได้รับ อย่าใช้ API นี้ในสภาพแวดล้อมที่ใช้งานจริง

แสดงผลอินสแตนซ์ Firestore ที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น

ลายเซ็น:

export declare function getFirestore(databaseId: string): Firestore;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
รหัสฐานข้อมูล สตริง ชื่อของฐานข้อมูล

การคืนสินค้า:

Firestore

อินสแตนซ์ Firestore ของแอปเริ่มต้น

ฟังก์ชัน(องค์ประกอบ, ...)

ArrayRemove(องค์ประกอบ)

แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือที่บอกเซิร์ฟเวอร์ให้นำองค์ประกอบที่กำหนดออกจากค่าอาร์เรย์ใดๆ ที่มีอยู่ในเซิร์ฟเวอร์ ระบบจะนำอินสแตนซ์ทั้งหมดของแต่ละองค์ประกอบที่ระบุออกจากอาร์เรย์ หากช่องที่แก้ไขไม่ใช่อาร์เรย์อยู่แล้ว ช่องนี้จะถูกเขียนทับด้วยอาร์เรย์ที่ว่างเปล่า

ลายเซ็น:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
องค์ประกอบ ไม่ทราบ[] องค์ประกอบที่จะนำออกจากอาร์เรย์

การคืนสินค้า:

ค่าฟิลด์

คำสัญญาณ FieldValue สำหรับใช้ในการโทรถึง setDoc() หรือ updateDoc()

อาร์เรย์ยูเนียน(องค์ประกอบ)

แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ซึ่งบอกเซิร์ฟเวอร์ให้รวมองค์ประกอบที่ระบุกับค่าอาร์เรย์ใดๆ ก็ตามที่มีอยู่ในเซิร์ฟเวอร์แล้ว แต่ละองค์ประกอบที่ระบุซึ่งไม่ได้มีอยู่ในอาร์เรย์จะเพิ่มต่อท้าย หากฟิลด์ที่แก้ไขไม่ใช่อาร์เรย์ ฟิลด์ดังกล่าวจะถูกเขียนทับด้วยอาร์เรย์ที่มีอีลิเมนต์ที่ระบุ

ลายเซ็น:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
องค์ประกอบ ไม่ทราบ[] องค์ประกอบที่จะผนวกเข้ากับอาร์เรย์

การคืนสินค้า:

ค่าฟิลด์

คำสัญญาณ FieldValue สำหรับใช้ในการโทรถึง setDoc() หรือ updateDoc()

ฟังก์ชัน(ฟิลด์, ...)

ค่าเฉลี่ย(ฟิลด์)

สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณค่าเฉลี่ยของช่องที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของการค้นหา

ลายเซ็น:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
พื้นที่ สตริง | FieldPath ระบุฟิลด์ที่จะหาค่าเฉลี่ยในชุดผลลัพธ์

การคืนสินค้า:

AggregateField<number | ค่าว่าง>

sum(ฟิลด์)

สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณผลรวมของช่องที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของการค้นหา

ลายเซ็น:

export declare function sum(field: string | FieldPath): AggregateField<number>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
พื้นที่ สตริง | FieldPath ระบุฟิลด์ที่จะรวมในชุดผลลัพธ์

การคืนสินค้า:

AggregateField<number>

function(fieldPath, ...)

orderBy(fieldPath, pathStr)

สร้าง QueryOrderByConstraint ที่จัดเรียงผลการค้นหาตามช่องที่ระบุ โดยสามารถเรียงจากมากไปน้อยแทนที่จะเรียงจากน้อยไปมาก

ลายเซ็น:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
FieldPath สตริง | FieldPath ช่องที่ใช้จัดเรียง
ทิศทางStr OrderByDirection ทิศทางการจัดเรียงตาม ("asc" หรือ "desc") (ไม่บังคับ) หากไม่ได้ระบุ ลำดับจะเรียงจากน้อยไปมาก

การคืนสินค้า:

QueryOrderByConstraint

QueryOrderByConstraint ที่สร้างขึ้น

where(fieldPath, opStr, value)

สร้าง QueryFieldFilterConstraint ที่บังคับให้เอกสารต้องมีช่องที่ระบุ และค่าควรเป็นไปตามข้อจำกัดความสัมพันธ์ที่ระบุ

ลายเซ็น:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
FieldPath สตริง | FieldPath เส้นทางที่จะเปรียบเทียบ
opStr ตำแหน่งFilterOp สตริงการดำเนินการ (เช่น "&lt;", "&lt;=", "==", "&lt;", "&lt;=", "!=")
value ไม่ทราบ ค่าสำหรับเปรียบเทียบ

การคืนสินค้า:

QueryFieldFilterConstraint

QueryFieldFilterConstraint ที่สร้างขึ้น

Functions(fieldValues, ...)

endAt(ค่าฟิลด์)

สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดในช่องที่ให้ไว้ซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา

ลายเซ็น:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ค่าฟิลด์ ไม่ทราบ[] ค่าของช่องที่จะสิ้นสุดคำค้นหานี้ตามลำดับของคำค้นหา

การคืนสินค้า:

ข้อความค้นหาสิ้นสุดที่ข้อจำกัด

QueryEndAtConstraint เพื่อส่งไปยัง query()

endbefore(fieldValues)

สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดก่อนช่องที่ระบุซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา

ลายเซ็น:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ค่าฟิลด์ ไม่ทราบ[] ค่าของช่องที่จะจบการค้นหานี้ก่อน ตามลำดับของคำค้นหา

การคืนสินค้า:

ข้อความค้นหาสิ้นสุดที่ข้อจำกัด

QueryEndAtConstraint เพื่อส่งไปยัง query()

StartAfter(fieldValues)

สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นหลังช่องที่ระบุไว้ซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา

ลายเซ็น:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ค่าฟิลด์ ไม่ทราบ[] ค่าของช่องที่จะเริ่มคำค้นหานี้ในภายหลัง ตามลำดับคำค้นหา

การคืนสินค้า:

คำค้นหาเริ่มต้นที่ข้อจำกัด

QueryStartAtConstraint เพื่อส่งไปยัง query()

เริ่มที่(ค่าฟิลด์)

สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นที่ช่องที่ระบุซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา

ลายเซ็น:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ค่าฟิลด์ ไม่ทราบ[] ค่าของช่องที่จะเริ่มต้นการค้นหานี้ ตามลำดับของคำค้นหา

การคืนสินค้า:

คำค้นหาเริ่มต้นที่ข้อจำกัด

QueryStartAtConstraint เพื่อส่งไปยัง query()

ฟังก์ชัน(indexManager, ...)

deleteAllPersistentCacheIndexes(indexManager)

นำดัชนีแคชถาวรทั้งหมดออก

โปรดทราบว่าฟังก์ชันนี้จะลบดัชนีที่สร้างโดย setIndexConfiguration() ซึ่งเลิกใช้งานแล้วด้วย

ลายเซ็น:

export declare function deleteAllPersistentCacheIndexes(indexManager: PersistentCacheIndexManager): void;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
เครื่องมือจัดการดัชนี PersistentCacheIndexManager

การคืนสินค้า:

เป็นโมฆะ

disabledPersistentCacheIndexAutoCreation(indexManager)

หยุดการสร้างดัชนีแคชถาวรโดยอัตโนมัติสำหรับการดำเนินการค้นหาในเครื่อง ดัชนีที่สร้างจากการเรียก enablePersistentCacheIndexAutoCreation() จะยังคงมีผลอยู่

ลายเซ็น:

export declare function disablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
เครื่องมือจัดการดัชนี PersistentCacheIndexManager

การคืนสินค้า:

เป็นโมฆะ

enablePersistentCacheIndexAutoCreation(indexManager)

เปิดใช้ SDK เพื่อสร้างดัชนีแคชถาวรโดยอัตโนมัติสำหรับการดำเนินการค้นหาในเครื่องเมื่อ SDK เชื่อว่าดัชนีแคชช่วยปรับปรุงประสิทธิภาพได้

ฟีเจอร์นี้ปิดใช้อยู่โดยค่าเริ่มต้น

ลายเซ็น:

export declare function enablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
เครื่องมือจัดการดัชนี PersistentCacheIndexManager

การคืนสินค้า:

เป็นโมฆะ

ฟังก์ชัน(ซ้าย, ...)

totalFieldEqual(ซ้าย ขวา)

เปรียบเทียบอินสแตนซ์ "AggregateField" 2 รายการสำหรับความเท่ากัน

ลายเซ็น:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ซ้าย AggregateField<unknown> เปรียบเทียบ AggregateField นี้กับ right
ขวา AggregateField<unknown> เปรียบเทียบ AggregateField นี้กับ left

การคืนสินค้า:

boolean

รวมข้อความค้นหาSnapshotEqual(ซ้าย ขวา)

เปรียบเทียบอินสแตนซ์ AggregateQuerySnapshot 2 อินสแตนซ์เพื่อความเท่ากัน

อินสแตนซ์ AggregateQuerySnapshot 2 รายการถือว่าเป็น "เท่ากัน" หากมีคำค้นหาพื้นฐานที่เปรียบเทียบเท่ากันและข้อมูลเดียวกัน

ลายเซ็น:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ซ้าย AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType> AggregateQuerySnapshot แรกที่จะเปรียบเทียบ
ขวา AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType> AggregateQuerySnapshot รายการที่ 2 ที่จะเปรียบเทียบ

การคืนสินค้า:

boolean

true หากวัตถุนั้น "เท่ากัน" ตามที่กำหนดไว้ข้างต้น หรือ false ในกรณีอื่นๆ

queryEqual(ซ้าย ขวา)

แสดงผลเป็น "จริง" หากคำค้นหาที่ระบุชี้ไปยังคอลเล็กชันเดียวกันและใช้ข้อจำกัดเดียวกัน

ลายเซ็น:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ซ้าย คำค้นหา<AppModelType, DbModelType> Query ที่จะเปรียบเทียบ
ขวา คำค้นหา<AppModelType, DbModelType> Query ที่จะเปรียบเทียบ

การคืนสินค้า:

boolean

"จริง" หากการอ้างอิงชี้ไปยังตำแหน่งเดียวกันในฐานข้อมูล Firestore เดียวกัน

refEqual(ซ้าย ขวา)

แสดงค่า "จริง" หากการอ้างอิงที่ระบุเท่ากัน

ลายเซ็น:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ซ้าย DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType> ข้อมูลอ้างอิงสำหรับเปรียบเทียบ
ขวา DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType> ข้อมูลอ้างอิงสำหรับเปรียบเทียบ

การคืนสินค้า:

boolean

"จริง" หากการอ้างอิงชี้ไปยังตำแหน่งเดียวกันในฐานข้อมูล Firestore เดียวกัน

SnapshotEqual(ซ้าย, ขวา)

แสดงค่า "จริง" หากสแนปชอตที่ระบุเท่ากัน

ลายเซ็น:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ซ้าย DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType> ภาพรวมที่จะเปรียบเทียบ
ขวา DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType> ภาพรวมที่จะเปรียบเทียบ

การคืนสินค้า:

boolean

"จริง" หากสแนปชอตเท่ากัน

ฟังก์ชัน(ขีดจำกัด, ...)

ขีดจำกัด(จำนวนสูงสุด)

สร้าง QueryLimitConstraint ที่แสดงเอกสารที่ตรงกันรายการแรกเท่านั้น

ลายเซ็น:

export declare function limit(limit: number): QueryLimitConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ขีดจำกัด ตัวเลข จำนวนรายการสูงสุดที่จะแสดง

การคืนสินค้า:

QueryLimitConstraint

QueryLimitConstraint ที่สร้างขึ้น

ขีดจำกัดToLast(ขีดจำกัด)

สร้าง QueryLimitConstraint ที่แสดงเฉพาะเอกสารที่ตรงกันล่าสุดเท่านั้น

คุณต้องระบุอนุประโยค orderBy อย่างน้อย 1 อย่างสำหรับการค้นหา limitToLast ไม่เช่นนั้นจะมีข้อยกเว้นระหว่างการดำเนินการ

ลายเซ็น:

export declare function limitToLast(limit: number): QueryLimitConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ขีดจำกัด ตัวเลข จำนวนรายการสูงสุดที่จะแสดง

การคืนสินค้า:

QueryLimitConstraint

QueryLimitConstraint ที่สร้างขึ้น

ฟังก์ชัน(logLevel, ...)

setLogLevel(logLevel)

ตั้งค่าการพูดรายละเอียดของบันทึก Cloud Firestore (แก้ไขข้อบกพร่อง ข้อผิดพลาด หรือปิดเสียง)

ลายเซ็น:

export declare function setLogLevel(logLevel: LogLevel): void;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ระดับบันทึก ระดับบันทึก การพูดรายละเอียดที่คุณกำหนดสำหรับกิจกรรมและการบันทึกข้อผิดพลาด อาจเป็นค่าใดก็ได้ต่อไปนี้
  • debug สำหรับระดับการบันทึกที่มีข้อมูลขนาดใหญ่ที่สุด และสำหรับการแก้ไขข้อบกพร่องเป็นหลัก
  • error เพื่อบันทึกเฉพาะข้อผิดพลาดเท่านั้น
  • silent to turn off logging.

การคืนสินค้า:

เป็นโมฆะ

ฟังก์ชัน(n, ...)

เพิ่มขึ้น(n)

แสดงผลค่าพิเศษที่ใช้กับ setDoc() หรือ updateDoc() ได้ ซึ่งบอกเซิร์ฟเวอร์ให้เพิ่มค่าปัจจุบันของช่องตามค่าที่ระบุ

ถ้าตัวถูกดำเนินการหรือค่าฟิลด์ปัจจุบันใช้ความแม่นยำของจุดลอยตัว เลขคณิตทั้งหมดจะเป็นไปตามความหมาย IEEE 754 หากทั้ง 2 ค่าเป็นจำนวนเต็ม ค่าที่อยู่นอกช่วงตัวเลขที่ปลอดภัยของ JavaScript (Number.MIN_SAFE_INTEGER ถึง Number.MAX_SAFE_INTEGER) จะสูญเสียความแม่นยำด้วย นอกจากนี้ เมื่อประมวลผลโดยแบ็กเอนด์ของ Firestore การดำเนินการจำนวนเต็มทั้งหมดจะจำกัดระหว่าง -2^63 และ 2^63-1

หากค่าของช่องปัจจุบันไม่ใช่ประเภท number หรือยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะตั้งค่าช่องนี้เป็นค่าที่ระบุ

ลายเซ็น:

export declare function increment(n: number): FieldValue;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
n ตัวเลข ค่าที่จะเพิ่มตาม

การคืนสินค้า:

ค่าฟิลด์

คำสัญญาณ FieldValue สำหรับใช้ในการโทรถึง setDoc() หรือ updateDoc()

ฟังก์ชัน(ข้อความค้นหา, ...)

getAggregateFromServer(ข้อความค้นหา, AggregateSpec)

คำนวณการรวมที่ระบุของเอกสารในชุดผลลัพธ์ของข้อความค้นหานั้นๆ โดยไม่ต้องดาวน์โหลดเอกสารจริง

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

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

ลายเซ็น:

export declare function getAggregateFromServer<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> ข้อความค้นหาที่มีชุดผลลัพธ์เป็นผลรวม
ข้อมูลจำเพาะรวม AggregateSpecType ออบเจ็กต์ AggregateSpec ที่ระบุการรวบรวมข้อมูลที่จะดำเนินการเหนือชุดผลลัพธ์ AggregateSpec จะระบุชื่อแทนสำหรับข้อมูลรวมแต่ละรายการ ซึ่งสามารถใช้เพื่อดึงผลลัพธ์การรวมได้

การคืนสินค้า:

สัญญา<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>

ตัวอย่าง

const aggregateSnapshot = await getAggregateFromServer(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

getCountFromServer(คำค้นหา)

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

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

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

ลายเซ็น:

export declare function getCountFromServer<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> คำค้นหาที่มีการคำนวณขนาดของชุดผลลัพธ์

การคืนสินค้า:

Promise<AggregateQuerySnapshot<{count: AggregateField<number>; }, AppModelType, DbModelType>>

คำสัญญาที่จะได้รับการแก้ไขด้วยจำนวน สามารถดึงจำนวนได้จาก snapshot.data().count โดยที่ snapshot คือ AggregateQuerySnapshot ที่ Promise แสดงผลเป็นค่าคงที่

getDocuments(คำค้นหา)

ดำเนินการค้นหาและแสดงผลลัพธ์เป็น QuerySnapshot

ลายเซ็น:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType>

การคืนสินค้า:

สัญญา<QuerySnapshot<AppModelType, DbModelType>>

Promise ที่จะได้รับการแก้ไขด้วยผลการค้นหา

getDocumentsFromCache(ข้อความค้นหา)

ดำเนินการค้นหาและส่งคืนผลลัพธ์เป็น QuerySnapshot จากแคช แสดงผลชุดผลลัพธ์ที่ว่างเปล่า หากไม่มีเอกสารที่ตรงกับข้อความค้นหาในปัจจุบัน

ลายเซ็น:

export declare function getDocsFromCache<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType>

การคืนสินค้า:

สัญญา<QuerySnapshot<AppModelType, DbModelType>>

Promise ที่จะได้รับการแก้ไขด้วยผลการค้นหา

getDocumentsFromServer(คำค้นหา)

ดำเนินการค้นหาและส่งคืนผลลัพธ์เป็น QuerySnapshot จากเซิร์ฟเวอร์ แสดงผลข้อผิดพลาดหากเครือข่ายไม่พร้อมใช้งาน

ลายเซ็น:

export declare function getDocsFromServer<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType>

การคืนสินค้า:

สัญญา<QuerySnapshot<AppModelType, DbModelType>>

Promise ที่จะได้รับการแก้ไขด้วยผลการค้นหา

onSnapshot(คำค้นหา, ผู้สังเกตการณ์)

แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error ยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshot

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, observer: {
    next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> คำค้นหาที่จะฟัง
ผู้สังเกตการณ์ { ถัดไป?: (สแนปชอต: QuerySnapshot<AppModelType, DbModelType>) => โมฆะ; ?: (ข้อผิดพลาด: FirestoreError) => เป็นโมฆะ; เสร็จสมบูรณ์: () => โมฆะ; } ออบเจ็กต์เดียวที่มี Callback next และ error

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshot(คำค้นหา ตัวเลือก ผู้สังเกตการณ์)

แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error ยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshot

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
    next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> คำค้นหาที่จะฟัง
ตัวเลือก ตัวเลือกฟังสแนปชอต ตัวเลือกที่ควบคุมพฤติกรรมการฟัง
ผู้สังเกตการณ์ { ถัดไป?: (สแนปชอต: QuerySnapshot<AppModelType, DbModelType>) => โมฆะ; ?: (ข้อผิดพลาด: FirestoreError) => โมฆะ; เสร็จสมบูรณ์: () => โมฆะ; } ออบเจ็กต์เดียวที่มี Callback next และ error

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshot(ข้อความค้นหา, onNext, onError, onUnderstanding)

แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error ยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshot

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> คำค้นหาที่จะฟัง
ถัดไป (สแนปชอต: QuerySnapshot<AppModelType, DbModelType>) => เป็นโมฆะ ระบบจะโทรกลับทุกครั้งที่ QuerySnapshot ใหม่พร้อมใช้งาน
onError (ข้อผิดพลาด: FirestoreError) => เป็นโมฆะ การเรียกกลับที่จะถูกเรียกหากการฟังไม่สำเร็จหรือถูกยกเลิก จะไม่มีการติดต่อกลับอีกต่อไป
เสร็จสมบูรณ์ () => เป็นโมฆะ มีได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมจะไม่สิ้นสุด

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshot(ข้อความค้นหา, ตัวเลือก, onNext, onError, onComplete)

แนบ Listener สำหรับกิจกรรม QuerySnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error ยกเลิก Listener ได้โดยเรียกใช้ฟังก์ชันที่แสดงผลเมื่อมีการเรียกใช้ onSnapshot

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> คำค้นหาที่จะฟัง
ตัวเลือก ตัวเลือกฟังสแนปชอต ตัวเลือกที่ควบคุมพฤติกรรมการฟัง
ถัดไป (สแนปชอต: QuerySnapshot<AppModelType, DbModelType>) => เป็นโมฆะ ระบบจะโทรกลับทุกครั้งที่ QuerySnapshot ใหม่พร้อมใช้งาน
onError (ข้อผิดพลาด: FirestoreError) => เป็นโมฆะ การเรียกกลับที่จะถูกเรียกหากการฟังไม่สำเร็จหรือถูกยกเลิก จะไม่มีการติดต่อกลับอีกต่อไป
เสร็จสมบูรณ์ () => เป็นโมฆะ มีได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมจะไม่สิ้นสุด

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

query(query, CompositFilter, queryConstraints)

สร้างอินสแตนซ์ใหม่ของ Query ที่เปลี่ยนแปลงไม่ได้ซึ่งจะขยายเพื่อรวมข้อจำกัดการค้นหาเพิ่มเติมด้วย

ลายเซ็น:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> อินสแตนซ์ข้อความค้นหาที่จะใช้เป็นฐานสำหรับข้อจำกัดใหม่
ตัวกรองแบบผสม QueryCompositeFilterConstraint QueryCompositeFilterConstraint ที่จะใช้ สร้าง QueryCompositeFilterConstraint โดยใช้ and() หรือ or()
ข้อจำกัดข้อความค้นหา QueryNonFilterConstraint[] QueryNonFilterConstraint เพิ่มเติมที่จะใช้ (เช่น orderBy(), limit())

การคืนสินค้า:

คำค้นหา<AppModelType, DbModelType>

ข้อยกเว้น

หากข้อจำกัดการค้นหาที่ระบุไม่สามารถรวมกับข้อจำกัดที่มีอยู่หรือข้อจำกัดใหม่

query(query, queryConstraints)

สร้างอินสแตนซ์ใหม่ของ Query ที่เปลี่ยนแปลงไม่ได้ซึ่งจะขยายเพื่อรวมข้อจำกัดการค้นหาเพิ่มเติมด้วย

ลายเซ็น:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
query คำค้นหา<AppModelType, DbModelType> อินสแตนซ์ข้อความค้นหาที่จะใช้เป็นฐานสำหรับข้อจำกัดใหม่
ข้อจำกัดข้อความค้นหา QueryConstraint[] รายการ QueryConstraint ที่จะใช้

การคืนสินค้า:

คำค้นหา<AppModelType, DbModelType>

ข้อยกเว้น

หากข้อจำกัดการค้นหาที่ระบุไม่สามารถรวมกับข้อจำกัดที่มีอยู่หรือข้อจำกัดใหม่

ฟังก์ชัน(queryConstraints, ...)

และ(queryConstraints)

สร้าง QueryCompositeFilterConstraint ใหม่ที่เป็นการผสมผสานของข้อจำกัดตัวกรองที่ระบุ ตัวกรองร่วมจะมีเอกสารหากตรงกับตัวกรองทั้งหมดที่ระบุ

ลายเซ็น:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ข้อจำกัดข้อความค้นหา QueryFilterConstraint[] ไม่บังคับ รายการ QueryFilterConstraint ที่จะทำการร่วม ซึ่งต้องสร้างโดยมีการเรียกไปที่ where(), or() หรือ and()

การคืนสินค้า:

QueryCompositeFilterConstraint

QueryCompositeFilterConstraint ที่สร้างขึ้นใหม่

หรือ(queryConstraints)

สร้าง QueryCompositeFilterConstraint ใหม่ซึ่งเป็นการแยกส่วนข้อจำกัดตัวกรองที่ระบุ ตัวกรองการแยกประกอบด้วยเอกสารหากตรงกับตัวกรองที่ระบุ

ลายเซ็น:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ข้อจำกัดข้อความค้นหา QueryFilterConstraint[] ไม่บังคับ รายการ QueryFilterConstraint เพื่อทำการแยก ซึ่งต้องสร้างขึ้นโดยมีการเรียกไปที่ where(), or() หรือ and()

การคืนสินค้า:

QueryCompositeFilterConstraint

QueryCompositeFilterConstraint ที่สร้างขึ้นใหม่

ฟังก์ชัน(การอ้างอิง, ...)

addDoc(ข้อมูลอ้างอิง, ข้อมูล)

เพิ่มเอกสารใหม่ไปยัง CollectionReference ที่ระบุด้วยข้อมูลที่ระบุ ซึ่งจะเป็นการกำหนดรหัสเอกสารให้กับเอกสารโดยอัตโนมัติ

ลายเซ็น:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง CollectionReference<AppModelType, DbModelType> การอ้างอิงคอลเล็กชันที่จะเพิ่มเอกสารนี้
ข้อมูล WithFieldValue<AppModelType> ออบเจ็กต์ที่มีข้อมูลสำหรับเอกสารใหม่

การคืนสินค้า:

สัญญา<DocumentReference<AppModelType, DbModelType>>

Promise ได้รับการแก้ไขแล้วโดยมี DocumentReference ซึ่งชี้ไปยังเอกสารที่สร้างขึ้นใหม่หลังจากเขียนไปยังแบ็กเอนด์แล้ว (โปรดทราบว่าปัญหานี้จะไม่แก้ไขขณะที่คุณออฟไลน์)

คอลเล็กชัน(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง)

รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันย่อยของ reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ

ลายเซ็น:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง CollectionReference<AppModelType, DbModelType> การอ้างอิงคอลเล็กชัน
เส้นทาง สตริง เส้นทางที่คั่นด้วยเครื่องหมายทับไปยังคอลเล็กชัน
กลุ่มเส้นทาง สตริง[] กลุ่มเส้นทางเพิ่มเติมที่จะนำไปใช้โดยสัมพันธ์กับอาร์กิวเมนต์แรก

การคืนสินค้า:

CollectionReference<DocumentData, DocumentData>

อินสแตนซ์ CollectionReference

ข้อยกเว้น

หากเส้นทางสุดท้ายมีจำนวนกลุ่มเท่ากันและไม่ได้ชี้ไปที่คอลเล็กชัน

คอลเล็กชัน(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง)

รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันย่อยของ reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ

ลายเซ็น:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสาร Firestore
เส้นทาง สตริง เส้นทางที่คั่นด้วยเครื่องหมายทับไปยังคอลเล็กชัน
กลุ่มเส้นทาง สตริง[] กลุ่มเส้นทางเพิ่มเติมที่จะนำไปใช้โดยสัมพันธ์กับอาร์กิวเมนต์แรก

การคืนสินค้า:

CollectionReference<DocumentData, DocumentData>

อินสแตนซ์ CollectionReference

ข้อยกเว้น

หากเส้นทางสุดท้ายมีจำนวนกลุ่มเท่ากันและไม่ได้ชี้ไปที่คอลเล็กชัน

ลบเอกสาร(การอ้างอิง)

ลบเอกสารที่ DocumentReference ที่ระบุอ้างถึง

ลายเซ็น:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะลบ

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ได้รับการแก้ไขเมื่อลบเอกสารออกจากแบ็กเอนด์สำเร็จแล้ว (โปรดทราบว่าเอกสารจะไม่หายไปขณะที่คุณออฟไลน์)

เอกสาร(การอ้างอิง เส้นทาง กลุ่มเส้นทาง)

รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ หากไม่ได้ระบุเส้นทาง ระบบจะใช้รหัสที่ไม่ซ้ำกันที่สร้างขึ้นโดยอัตโนมัติสำหรับ DocumentReference ที่แสดงผล

ลายเซ็น:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง CollectionReference<AppModelType, DbModelType> การอ้างอิงคอลเล็กชัน
เส้นทาง สตริง เส้นทางที่คั่นด้วยเครื่องหมายทับไปยังเอกสาร คุณต้องละเว้นเพื่อใช้รหัสที่สร้างขึ้นโดยอัตโนมัติ
กลุ่มเส้นทาง สตริง[] กลุ่มเส้นทางเพิ่มเติมที่จะนำไปใช้โดยสัมพันธ์กับอาร์กิวเมนต์แรก

การคืนสินค้า:

DocumentReference<AppModelType, DbModelType>

อินสแตนซ์ DocumentReference

ข้อยกเว้น

หากเส้นทางสุดท้ายมีจำนวนกลุ่มเป็นคี่และไม่ได้ชี้ไปที่เอกสาร

เอกสาร(การอ้างอิง เส้นทาง กลุ่มเส้นทาง)

รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ

ลายเซ็น:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสาร Firestore
เส้นทาง สตริง เส้นทางที่คั่นด้วยเครื่องหมายทับไปยังเอกสาร
กลุ่มเส้นทาง สตริง[] กลุ่มเส้นทางเพิ่มเติมที่จะนำไปใช้โดยสัมพันธ์กับอาร์กิวเมนต์แรก

การคืนสินค้า:

DocumentReference<DocumentData, DocumentData>

อินสแตนซ์ DocumentReference

ข้อยกเว้น

หากเส้นทางสุดท้ายมีจำนวนกลุ่มเป็นคี่และไม่ได้ชี้ไปที่เอกสาร

getDoc(การอ้างอิง)

อ่านเอกสารที่ DocumentReference นี้อ้างอิงถึง

ลายเซ็น:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> ข้อมูลอ้างอิงของเอกสารที่จะดึงข้อมูล

การคืนสินค้า:

สัญญา<DocumentSnapshot<AppModelType, DbModelType>>

Promise แก้ปัญหาด้วย DocumentSnapshot ที่มีเนื้อหาเอกสารปัจจุบัน

getDocFromCache(การอ้างอิง)

อ่านเอกสารที่ DocumentReference นี้อ้างอิงจากแคช แสดงผลข้อผิดพลาดถ้าเอกสารไม่ได้มีการแคชไว้

ลายเซ็น:

export declare function getDocFromCache<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType>

การคืนสินค้า:

สัญญา<DocumentSnapshot<AppModelType, DbModelType>>

Promise แก้ปัญหาโดยมี DocumentSnapshot ซึ่งมีเนื้อหาเอกสารปัจจุบัน

getDocFromServer(การอ้างอิง)

อ่านเอกสารที่ DocumentReference นี้อ้างอิงจากเซิร์ฟเวอร์ แสดงผลข้อผิดพลาดหากเครือข่ายไม่พร้อมใช้งาน

ลายเซ็น:

export declare function getDocFromServer<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType>

การคืนสินค้า:

สัญญา<DocumentSnapshot<AppModelType, DbModelType>>

Promise แก้ปัญหาโดยมี DocumentSnapshot ซึ่งมีเนื้อหาเอกสารปัจจุบัน

onSnapshot(ข้อมูลอ้างอิง ผู้สังเกตการณ์)

แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, observer: {
    next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะฟัง
ผู้สังเกตการณ์ { ถัดไป?: (สแนปชอต: DocumentSnapshot<AppModelType, DbModelType>) => โมฆะ; ?: (ข้อผิดพลาด: FirestoreError) => โมฆะ; เสร็จสมบูรณ์: () => โมฆะ; } ออบเจ็กต์เดียวที่มี Callback next และ error

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshot(ข้อมูลอ้างอิง ตัวเลือก ผู้สังเกตการณ์)

แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
    next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะฟัง
ตัวเลือก ตัวเลือกฟังสแนปชอต ตัวเลือกที่ควบคุมพฤติกรรมการฟัง
ผู้สังเกตการณ์ { ถัดไป?: (สแนปชอต: DocumentSnapshot<AppModelType, DbModelType>) => โมฆะ; ?: (ข้อผิดพลาด: FirestoreError) => โมฆะ; เสร็จสมบูรณ์: () => โมฆะ; } ออบเจ็กต์เดียวที่มี Callback next และ error

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshot(การอ้างอิง, onNext, onError, onCOMPLETE)

แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะฟัง
ถัดไป (สแนปชอต: DocumentSnapshot<AppModelType, DbModelType>) => เป็นโมฆะ ระบบจะโทรกลับทุกครั้งที่ DocumentSnapshot ใหม่พร้อมใช้งาน
onError (ข้อผิดพลาด: FirestoreError) => เป็นโมฆะ การเรียกกลับที่จะถูกเรียกหากการฟังไม่สำเร็จหรือถูกยกเลิก จะไม่มีการติดต่อกลับอีกต่อไป
เสร็จสมบูรณ์ () => เป็นโมฆะ มีได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมจะไม่สิ้นสุด

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

onSnapshot(การอ้างอิง, ตัวเลือก, onNext, onError, onComplete)

แนบ Listener สำหรับกิจกรรม DocumentSnapshot รายการ คุณอาจส่ง Callback onNext และ onError ทีละรายการ หรือส่งออบเจ็กต์ผู้สังเกตการณ์ 1 รายการที่มี Callback next และ error

หมายเหตุ: แม้ว่าจะมีการเรียกกลับ onCompletion ได้ แต่จะไม่มีการเรียกรายการดังกล่าวเนื่องจากสตรีมสแนปชอตจะไม่มีที่สิ้นสุด

ลายเซ็น:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะฟัง
ตัวเลือก ตัวเลือกฟังสแนปชอต ตัวเลือกที่ควบคุมพฤติกรรมการฟัง
ถัดไป (สแนปชอต: DocumentSnapshot<AppModelType, DbModelType>) => เป็นโมฆะ ระบบจะโทรกลับทุกครั้งที่ DocumentSnapshot ใหม่พร้อมใช้งาน
onError (ข้อผิดพลาด: FirestoreError) => เป็นโมฆะ การเรียกกลับที่จะถูกเรียกหากการฟังไม่สำเร็จหรือถูกยกเลิก จะไม่มีการติดต่อกลับอีกต่อไป
เสร็จสมบูรณ์ () => เป็นโมฆะ มีได้ แต่จะไม่มีการเรียกใช้เนื่องจากสตรีมจะไม่สิ้นสุด

การคืนสินค้า:

ยกเลิกการสมัคร

ฟังก์ชันยกเลิกการสมัครที่เรียกใช้เพื่อยกเลิก Listener ของสแนปชอตได้

setDoc(การอ้างอิง, ข้อมูล)

เขียนในเอกสารที่ DocumentReference นี้อ้างถึง ระบบจะสร้างเอกสารหากยังไม่มี

ลายเซ็น:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะเขียน
ข้อมูล WithFieldValue<AppModelType> แมปของช่องและค่าสำหรับเอกสาร

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise จะได้รับการแก้ไขเมื่อมีการเขียนข้อมูลลงในแบ็กเอนด์เรียบร้อยแล้ว (โปรดทราบว่าจะไม่มีการแก้ไขขณะที่คุณออฟไลน์)

setDoc(การอ้างอิง ข้อมูล ตัวเลือก)

เขียนในเอกสารอ้างอิงโดย DocumentReference ที่ระบุ ระบบจะสร้างเอกสารหากยังไม่มี หากคุณระบุ merge หรือ mergeFields คุณจะรวมข้อมูลที่ระบุเข้ากับเอกสารที่มีอยู่ได้

ลายเซ็น:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะเขียน
ข้อมูล บางส่วนของWithFieldValue<AppModelType> แมปของช่องและค่าสำหรับเอกสาร
ตัวเลือก SetOptions ออบเจ็กต์สำหรับกำหนดค่าพฤติกรรมของเซ็ต

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise ได้รับการแก้ปัญหาเมื่อเขียนข้อมูลลงในแบ็กเอนด์สำเร็จแล้ว (โปรดทราบว่าจะไม่แก้ปัญหาขณะที่คุณออฟไลน์)

เอกสารอัปเดต(ข้อมูลอ้างอิง ข้อมูล)

อัปเดตช่องในเอกสารที่อ้างอิงโดย DocumentReference ที่ระบุ การอัปเดตจะล้มเหลวหากใช้กับเอกสารที่ไม่มีอยู่

ลายเซ็น:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะอัปเดต
ข้อมูล UpdateData<DbModelType> ออบเจ็กต์ที่มีช่องและค่าที่จะอัปเดตเอกสาร ช่องอาจมีจุดเพื่ออ้างอิงช่องที่ซ้อนกันภายในเอกสารได้

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise จะได้รับการแก้ไขเมื่อมีการเขียนข้อมูลลงในแบ็กเอนด์เรียบร้อยแล้ว (โปรดทราบว่าจะไม่มีการแก้ไขขณะที่คุณออฟไลน์)

อัปเดตDoc(การอ้างอิง, ฟิลด์, ค่า, moreFieldsAndValues)

อัปเดตช่องในเอกสารที่ DocumentReference ที่ระบุอ้างถึง การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่

คุณอัปเดตช่องที่ซ้อนกันได้โดยใช้สตริงเส้นทางช่องที่มีจุดคั่นด้วยจุด หรือระบุออบเจ็กต์ FieldPath

ลายเซ็น:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<AppModelType, DbModelType> การอ้างอิงเอกสารที่จะอัปเดต
พื้นที่ สตริง | FieldPath ช่องแรกที่จะอัปเดต
value ไม่ทราบ ค่าแรก
moreFieldsAndValues ไม่ทราบ[] คู่คีย์-ค่าเพิ่มเติม

การคืนสินค้า:

คำสัญญา<โมฆะ>

Promise จะได้รับการแก้ไขเมื่อมีการเขียนข้อมูลลงในแบ็กเอนด์เรียบร้อยแล้ว (โปรดทราบว่าจะไม่มีการแก้ไขขณะที่คุณออฟไลน์)

ฟังก์ชัน(การตั้งค่า, ...)

MemoryLocalCache(การตั้งค่า)

สร้างอินสแตนซ์ของ MemoryLocalCache สามารถตั้งค่าอินสแตนซ์เป็น FirestoreSettings.cache เพื่อบอก SDK ว่าควรใช้เลเยอร์แคชใด

ลายเซ็น:

export declare function memoryLocalCache(settings?: MemoryCacheSettings): MemoryLocalCache;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การตั้งค่า การตั้งค่าแคชหน่วยความจำ

การคืนสินค้า:

MemoryLocalCache

MemoryLruGarbageCollector(การตั้งค่า)

สร้างอินสแตนซ์ของ MemoryLruGarbageCollector

ขนาดเป้าหมายสามารถระบุเป็นส่วนหนึ่งของพารามิเตอร์การตั้งค่าได้ ตัวรวบรวมจะเริ่มลบเอกสารเมื่อแคชมีขนาดเกินขนาดที่ระบุ ขนาดแคชเริ่มต้นคือ 40 MB (40 * 1024 * 1024 ไบต์)

ลายเซ็น:

export declare function memoryLruGarbageCollector(settings?: {
    cacheSizeBytes?: number;
}): MemoryLruGarbageCollector;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การตั้งค่า { cacheSizeBytes?: ตัวเลข; }

การคืนสินค้า:

MemoryLruGarbageCollector

ถาวรLocalCache(การตั้งค่า)

สร้างอินสแตนซ์ของ PersistentLocalCache สามารถตั้งค่าอินสแตนซ์เป็น FirestoreSettings.cache เพื่อบอก SDK ว่าควรใช้เลเยอร์แคชใด

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

ลายเซ็น:

export declare function persistentLocalCache(settings?: PersistentCacheSettings): PersistentLocalCache;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การตั้งค่า PersistentCacheSettings

การคืนสินค้า:

PersistentLocalCache

PersusSingleTabManager(การตั้งค่า)

สร้างอินสแตนซ์ของ PersistentSingleTabManager

ลายเซ็น:

export declare function persistentSingleTabManager(settings: PersistentSingleTabManagerSettings | undefined): PersistentSingleTabManager;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การตั้งค่า PersistentSingleTabManagerSettings | ไม่ได้กำหนด กำหนดค่าตัวจัดการแท็บที่สร้างขึ้น

การคืนสินค้า:

PersistentSingleTabManager

ฟังก์ชัน(สแนปชอต, ...)

สิ้นสุดที่(สแนปชอต)

สร้าง QueryEndAtConstraint ที่แก้ไขชุดผลลัพธ์ให้สิ้นสุดที่เอกสารที่ระบุ (รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของการค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา

ลายเซ็น:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
สแนปชอต DocumentSnapshot<AppModelType, DbModelType> สแนปชอตของเอกสารที่จะสิ้นสุด

การคืนสินค้า:

ข้อความค้นหาสิ้นสุดที่ข้อจำกัด

QueryEndAtConstraint เพื่อส่งไปยัง query()

สิ้นสุดก่อน(สแนปชอต)

สร้าง QueryEndAtConstraint ที่แก้ไขผลลัพธ์ที่กำหนดให้สิ้นสุดก่อนเอกสารที่ระบุ (ไม่รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของการค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา

ลายเซ็น:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
สแนปชอต DocumentSnapshot<AppModelType, DbModelType> สแนปชอตของเอกสารที่จะสิ้นสุดก่อน

การคืนสินค้า:

ข้อความค้นหาสิ้นสุดที่ข้อจำกัด

QueryEndAtConstraint เพื่อส่งไปยัง query()

StartAfter(สแนปชอต)

สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นหลังจากเอกสารที่ระบุ (ไม่รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของคำค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา

ลายเซ็น:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
สแนปชอต DocumentSnapshot<AppModelType, DbModelType> ภาพรวมของเอกสารที่จะเริ่มต้นภายหลัง

การคืนสินค้า:

คำค้นหาเริ่มต้นที่ข้อจำกัด

QueryStartAtConstraint เพื่อส่งไปยัง query()

StartAt(snapshot)

สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นที่เอกสารที่ระบุ (รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของคำค้นหา เอกสารต้องมีช่องทั้งหมดที่ระบุไว้ใน orderBy ของการค้นหานี้

ลายเซ็น:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
สแนปชอต DocumentSnapshot<AppModelType, DbModelType> ภาพรวมของเอกสารที่จะเริ่มต้น

การคืนสินค้า:

คำค้นหาเริ่มต้นที่ข้อจำกัด

QueryStartAtConstraint เพื่อส่งไปยัง query()

ฟังก์ชัน(ค่า, ...)

เวกเตอร์(ค่า)

สร้าง VectorValue ใหม่ที่สร้างขึ้นด้วยสำเนาของอาร์เรย์ตัวเลขที่ระบุ

ลายเซ็น:

export declare function vector(values?: number[]): VectorValue;

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
ค่า ตัวเลข[] สร้างอินสแตนซ์ VectorValue ที่มีสำเนาของอาร์เรย์ตัวเลขนี้

การคืนสินค้า:

ค่าเวกเตอร์

VectorValue ใหม่ที่สร้างขึ้นด้วยสำเนาของอาร์เรย์ตัวเลขที่ระบุ

CACHE_SIZE_UNLIMITED

ค่าคงที่ที่ใช้เพื่อระบุว่าควรปิดใช้การเก็บขยะ LRU ตั้งค่านี้เป็น cacheSizeBytes ในการตั้งค่าที่ส่งไปยังอินสแตนซ์ Firestore

ลายเซ็น:

CACHE_SIZE_UNLIMITED = -1

AddPrefixToKey

แสดงแผนที่ใหม่ที่ทุกคีย์นำหน้าด้วยคีย์ด้านนอกต่อท้ายจุด

ลายเซ็น:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

AggregateFieldType

การรวมของ AggregateField ทุกประเภทที่ Firestore รองรับ

ลายเซ็น:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

ข้อมูลสเปครวม

ประเภทซึ่งมีคีย์ที่ได้มาจาก AggregateSpec และมีค่าเป็นผลมาจากการรวมซึ่งดำเนินการโดย AggregateField ที่เกี่ยวข้องจากอินพุต AggregateSpec

ลายเซ็น:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

AggregateType

ประเภทการรวมที่แสดงประเภทการรวมที่จะดำเนินการ

ลายเซ็น:

export declare type AggregateType = 'count' | 'avg' | 'sum';

ฟิลด์การอัปเดตย่อย

ตัวช่วยในการคำนวณช่องที่ซ้อนกันสำหรับประเภท T1 ที่กำหนด จำเป็นต่อการเผยแพร่ประเภทการรวม เช่น undefined | {...} (เกิดขึ้นสำหรับอุปกรณ์ประกอบฉากที่ไม่บังคับ) หรือ {a: A} | {b: B}

ในกรณีการใช้งานนี้ V จะใช้เพื่อกระจายประเภทการรวมของ T[K] ใน Record เนื่องจาก T[K] จะได้รับการประเมินเป็นนิพจน์ ไม่ใช่กระจาย

ดู https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types

ลายเซ็น:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

ประเภทการเปลี่ยนเอกสาร

ประเภทของ DocumentChange อาจเป็น "เพิ่ม" "นำออก" หรือ "แก้ไข"

ลายเซ็น:

export declare type DocumentChangeType = 'added' | 'removed' | 'modified';

FirestoreErrorCode

ชุดรหัสสถานะ Firestore รหัสจะเหมือนกันกับรหัสที่ gRPC แสดงที่ https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

ค่าที่เป็นไปได้ ได้แก่ - "cancelled": ระบบยกเลิกการดำเนินการนี้ (โดยปกติผู้โทร) - 'unknown': ข้อผิดพลาดที่ไม่รู้จัก หรือข้อผิดพลาดจากโดเมนข้อผิดพลาดอื่น - 'ภาษาที่ไม่ถูกต้อง-อาร์กิวเมนต์': ลูกค้าระบุอาร์กิวเมนต์ที่ไม่ถูกต้อง โปรดทราบว่าเงื่อนไขนี้แตกต่างจาก "เงื่อนไขที่กำหนดไว้ล่วงหน้าซึ่งระบบล้มเหลว" "การโต้แย้งที่ไม่ถูกต้อง" ระบุอาร์กิวเมนต์ที่ทำให้เกิดปัญหาโดยไม่คำนึงถึงสถานะของระบบ (เช่น ชื่อฟิลด์ที่ไม่ถูกต้อง) - 'เกินกำหนดเวลา': กำหนดเวลาหมดอายุก่อนที่การดำเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบ ข้อผิดพลาดนี้อาจได้รับการส่งกลับแม้จะดำเนินการสำเร็จแล้วก็ตาม ตัวอย่างเช่น การตอบกลับที่สำเร็จจากเซิร์ฟเวอร์อาจล่าช้าไปนานพอสมควรหมดอายุ - 'not-found': ไม่พบเอกสารที่ขอ - "มีอยู่แล้ว": มีเอกสารที่เราพยายามสร้างอยู่แล้ว - 'permission-denied': ผู้โทรไม่ได้รับอนุญาตให้เรียกใช้การดำเนินการที่ระบุ - 'ทรัพยากรหมดแล้ว': ทรัพยากรบางส่วนหมดแล้ว อาจมีโควต้าของผู้ใช้แต่ละราย หรือบางระบบไฟล์อาจหมด - 'failed-precondition': การดำเนินการถูกปฏิเสธเนื่องจากระบบไม่อยู่ในสถานะที่จำเป็นสำหรับการดำเนินการ - 'ล้มเลิก': มีการล้มเลิกการดำเนินการ โดยทั่วไปจะเกิดจากปัญหาเกิดขึ้นพร้อมกัน เช่น ล้มเลิกธุรกรรม ฯลฯ - "นอกช่วง": มีการพยายามดำเนินการเกินช่วงที่ถูกต้อง - 'ไม่ได้ใช้งาน': การทำงานไม่ได้ดำเนินการหรือไม่มีการสนับสนุน/เปิดใช้งาน - 'ภายใน': ข้อผิดพลาดภายใน หมายความว่าค่าคงที่บางส่วนที่ระบบสำคัญคาดไว้เสียหาย หากคุณเห็นข้อผิดพลาดเหล่านี้ แสดงว่ามีข้อผิดพลาดมาก - 'unavailable': บริการไม่พร้อมใช้งานในขณะนี้ ปัญหานี้อาจเกิดขึ้นชั่วคราวและอาจแก้ไขได้โดยการลองอีกครั้งโดยใช้ Backoff - 'data-loss': ข้อมูลสูญหายหรือเสียหายโดยที่กู้คืนไม่ได้ - 'unauthenticated': คำขอไม่มีข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์ที่ถูกต้องสำหรับการดำเนินการ

ลายเซ็น:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

FirestoreLocalCache

ประเภทการรวมจากเลเยอร์แคชของ SDK ทั้งหมดที่รองรับ

ลายเซ็น:

export declare type FirestoreLocalCache = MemoryLocalCache | PersistentLocalCache;

แหล่งที่มาของการฟัง

อธิบายแหล่งที่มาที่การค้นหารับ

ตั้งค่าเป็น default เพื่อฟังการเปลี่ยนแปลงของทั้งแคชและเซิร์ฟเวอร์ ตั้งค่าเป็น cache เพื่อฟังการเปลี่ยนแปลงในแคชเท่านั้น

ลายเซ็น:

export declare type ListenSource = 'default' | 'cache';

อุปกรณ์รวบรวมหน่วยความจำของขยะ

ประเภทการรวมจากตัวเก็บรวบรวมขยะที่รองรับทั้งหมดสำหรับแคชในหน่วยความจำ

ลายเซ็น:

export declare type MemoryGarbageCollector = MemoryEagerGarbageCollector | MemoryLruGarbageCollector;

ฟิลด์การอัปเดตที่ซ้อนกัน

ในแต่ละช่อง (เช่น "bar") ให้ค้นหาคีย์ที่ฝังทั้งหมด (เช่น {'bar.baz': T1, 'bar.qux': T2}) นำคีย์เหล่านั้นมาตัดกันเพื่อสร้างแผนที่เดียวที่มีคีย์ที่เป็นไปได้ทั้งหมด ซึ่งทั้งหมดนั้นทำเครื่องหมายว่าไม่บังคับ

ลายเซ็น:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

คำสั่งByDirection

ทิศทางของคำสั่ง orderBy() จะระบุเป็น "desc" หรือ "asc" (มากไปน้อยหรือน้อยไปมาก)

ลายเซ็น:

export declare type OrderByDirection = 'desc' | 'asc';

บางส่วนของค่าฟิลด์

คล้ายกับ Partial<T> ของ TypeScript แต่อนุญาตให้ละเว้นฟิลด์ที่ซ้อนอยู่และส่ง FieldValues เป็นค่าพร็อพเพอร์ตี้ได้

ลายเซ็น:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

PersistentTabManager

การรวมผู้จัดการแท็บที่มีอยู่ทั้งหมด

ลายเซ็น:

export declare type PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;

แบบพื้นฐาน

ประเภทพื้นฐาน

ลายเซ็น:

export declare type Primitive = string | number | boolean | undefined | null;

QueryConstraintType

อธิบายข้อจำกัดการค้นหาแบบต่างๆ ที่มีใน SDK นี้

ลายเซ็น:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

ข้อจำกัดตัวกรองข้อความค้นหา

QueryFilterConstraint เป็นการรวมประเภท Helper ที่แสดงถึง QueryFieldFilterConstraint และ QueryCompositeFilterConstraint

ลายเซ็น:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

ข้อความค้นหาNonFilterConstraint

QueryNonFilterConstraint เป็นการรวมประเภท Helper ที่แสดงถึง QueryConstraints ซึ่งใช้ในการจำกัดหรือจัดลำดับชุดเอกสาร แต่ไม่ได้กรองในช่องเอกสารอย่างชัดแจ้ง QueryNonFilterConstraint สร้างโดยการเรียกใช้ orderBy(), startAt(), startAfter(), endbefore(), endAt(), limit() หรือ limitToLast() จากนั้นจึงจะส่งผ่านไปยัง query() เพื่อสร้างการค้นหาใหม่ด้วยQueryConstraint

ลายเซ็น:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

ตั้งค่าตัวเลือก

ออบเจ็กต์ตัวเลือกที่กำหนดลักษณะการทำงานของ setDoc() และการเรียก การกำหนดค่าการเรียกเหล่านี้ให้ทำการผสานแบบละเอียดแทนการเขียนทับเอกสารเป้าหมายทั้งหมดได้โดยการระบุ SetOptions ด้วย merge: true

ลายเซ็น:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

สถานะงาน

แสดงสถานะของงานการโหลดแพ็กเกจ

"ข้อผิดพลาด" ทั้งคู่ และ "สำเร็จ" อยู่ในสถานะจม: งานจะล้มเลิกหรือเสร็จสมบูรณ์ และจะไม่มีการอัปเดตเพิ่มเติมหลังจากที่มีการรายงาน

ลายเซ็น:

export declare type TaskState = 'Error' | 'Running' | 'Success';

ทางแยกไป

หากกำหนดประเภทการรวม U = T1 | T2 | ... จะแสดงผลประเภทที่ตัดกัน (T1 & T2 & ...)

ใช้ประเภทแบบมีเงื่อนไขแบบกระจายและการอนุมานจากประเภทแบบมีเงื่อนไข ซึ่งวิธีนี้ได้ผลเนื่องจากตัวเลือกหลายตัวสำหรับตัวแปรประเภทเดียวกันในตำแหน่งต่างๆ ของตัวแปรจะทำให้ระบบอนุมานประเภทจุดตัด https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection-type

ลายเซ็น:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

อัปเดตข้อมูล

อัปเดตข้อมูล (เพื่อใช้กับ updateDoc()) ที่ประกอบด้วยเส้นทางช่อง (เช่น "foo" หรือ "foo.baz") ที่แมปกับค่า ช่องที่มีจุดอ้างอิงช่องที่ซ้อนกันภายในเอกสาร สามารถส่ง FieldValue เป็นค่าพร็อพเพอร์ตี้ได้

ลายเซ็น:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

ตำแหน่งFilterOp

ระบุเงื่อนไขตัวกรองในคำสั่ง where() โดยใช้สตริง "&lt;", '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any' และ "not-in"

ลายเซ็น:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

พร้อมค่าฟิลด์

อนุญาตให้ส่ง FieldValues เป็นค่าพร็อพเพอร์ตี้โดยยังคงรักษาความปลอดภัยของประเภท

ลายเซ็น:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);