@firebase/firestore/lite

ฟังก์ชั่น

การทำงาน คำอธิบาย
ฟังก์ชั่น(แอพ, ...)
getFirestore (แอป) ส่งคืนอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ให้มา . หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
getFirestore (แอป, รหัสฐานข้อมูล) (เบต้า) ส่งคืนอินสแตนซ์ Firestore ที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ให้มา . หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
InitializeFirestore (แอพ การตั้งค่า) เริ่มต้นอินสแตนซ์ใหม่ของ Cloud Firestore ด้วยการตั้งค่าที่ให้ไว้ สามารถเรียกได้ก่อนฟังก์ชันอื่นๆ เท่านั้น รวมถึง getFirestore() . หากการตั้งค่าแบบกำหนดเองว่างเปล่า ฟังก์ชันนี้จะเทียบเท่ากับการเรียก getFirestore() .
InitializeFirestore (แอพ, การตั้งค่า, รหัสฐานข้อมูล) (เบต้า) เริ่มต้นอินสแตนซ์ใหม่ของ Cloud Firestore ด้วยการตั้งค่าที่ให้ไว้ สามารถเรียกได้ก่อนฟังก์ชันอื่นๆ เท่านั้น รวมถึง getFirestore() . หากการตั้งค่าแบบกำหนดเองว่างเปล่า ฟังก์ชันนี้จะเทียบเท่ากับการเรียก getFirestore() .
ฟังก์ชั่น(ร้านดับเพลิง, ...)
คอลเลกชัน (firestore, เส้นทาง, pathSegments) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเลกชันที่เส้นทางสัมบูรณ์ที่ระบุ
collectionGroup (firestore, collectionId) สร้างและส่งคืนอินสแตนซ์ Query ใหม่ที่มีเอกสารทั้งหมดในฐานข้อมูลที่มีอยู่ในคอลเลกชันหรือคอลเลกชันย่อยด้วย collectionId ที่กำหนด
ConnectFirestoreEmulator (firestore, โฮสต์, พอร์ต, ตัวเลือก) แก้ไขอินสแตนซ์นี้เพื่อสื่อสารกับโปรแกรมจำลอง Cloud Firestore หมายเหตุ: จะต้องเรียกสิ่งนี้ก่อนที่จะใช้อินสแตนซ์นี้เพื่อดำเนินการใดๆ
doc (firestore, เส้นทาง, pathSegments) รับอินสแตนซ์ DocumentReference ที่อ้างอิงถึงเอกสารที่เส้นทางสัมบูรณ์ที่ระบุ
runTransaction (firestore, updateFunction, ตัวเลือก) ดำเนินการ updateFunction ที่กำหนด จากนั้นพยายามที่จะยอมรับการเปลี่ยนแปลงที่ใช้ภายในธุรกรรม หากเอกสารใดๆ ที่อ่านภายในธุรกรรมมีการเปลี่ยนแปลง Cloud Firestore จะพยายาม updateFunction อีกครั้ง หากล้มเหลวในการดำเนินการหลังจากพยายาม 5 ครั้ง ธุรกรรมจะล้มเหลว จำนวนการเขียนสูงสุดที่อนุญาตในธุรกรรมเดียวคือ 500
ยุติ (ร้านดับเพลิง) ยุติอินสแตนซ์ Firestore ที่ระบุ หลังจากการเรียก terminate() สามารถใช้ฟังก์ชัน clearIndexedDbPersistence() เท่านั้น ฟังก์ชั่นอื่น ๆ จะส่ง FirestoreError การยุติจะไม่ยกเลิกการเขียนที่ค้างอยู่ และสัญญาใด ๆ ที่รอการตอบกลับจากเซิร์ฟเวอร์จะไม่ได้รับการแก้ไข หากต้องการรีสตาร์ทหลังจากสิ้นสุด ให้สร้างอินสแตนซ์ใหม่ของ Firestore ด้วย getFirestore() . หมายเหตุ: ภายใต้สถานการณ์ปกติ ไม่จำเป็นต้องเรียก terminate() ฟังก์ชันนี้มีประโยชน์เฉพาะเมื่อคุณต้องการบังคับให้อินสแตนซ์นี้ปล่อยทรัพยากรทั้งหมดหรือใช้ร่วมกับ clearIndexedDbPersistence() เพื่อให้แน่ใจว่าสถานะภายในเครื่องทั้งหมดจะถูกทำลายระหว่างการทดสอบรัน
writeBatch (ร้านดับเพลิง) สร้างแบตช์การเขียน ซึ่งใช้สำหรับการดำเนินการเขียนหลายรายการเป็นการดำเนินการอะตอมมิกเดียว จำนวนการเขียนสูงสุดที่อนุญาตใน WriteBatch เดียวคือ 500 ผลลัพธ์ของการเขียนเหล่านี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอนต์ออฟไลน์ การเขียนล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
การทำงาน()
นับ() สร้างวัตถุ AggregateField ที่สามารถใช้เพื่อคำนวณจำนวนเอกสารในชุดผลลัพธ์ของแบบสอบถาม
ลบฟิลด์() ส่งคืน Sentinel เพื่อใช้กับ updateDoc() หรือ setDoc() ด้วย {merge: true} เพื่อทำเครื่องหมายฟิลด์สำหรับการลบ
รหัสเอกสาร() ส่งกลับ FieldPath พิเศษเพื่ออ้างอิงถึง ID ของเอกสาร สามารถใช้ในแบบสอบถามเพื่อเรียงลำดับหรือกรองตามรหัสเอกสาร
getFirestore() ส่งคืนอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น . หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
เซิร์ฟเวอร์ประทับเวลา () ส่งคืน Sentinel ที่ใช้กับ setDoc() หรือ updateDoc() เพื่อรวมการประทับเวลาที่สร้างโดยเซิร์ฟเวอร์ในข้อมูลที่เขียน
ฟังก์ชั่น(databaseId, ...)
getFirestore (รหัสฐานข้อมูล) (เบต้า) ส่งคืนอินสแตนซ์ Firestore ที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น . หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
ฟังก์ชั่น(องค์ประกอบ, ...)
arrayRemove (องค์ประกอบ) ส่งกลับค่าพิเศษที่สามารถใช้กับ setDoc() หรือบอกให้เซิร์ฟเวอร์ลบองค์ประกอบที่กำหนดออกจากค่าอาร์เรย์ใด ๆ ที่มีอยู่แล้วบนเซิร์ฟเวอร์ อินสแตนซ์ทั้งหมดของแต่ละองค์ประกอบที่ระบุจะถูกลบออกจากอาร์เรย์ หากฟิลด์ที่กำลังแก้ไขไม่ได้เป็นอาร์เรย์ ฟิลด์นั้นจะถูกเขียนทับด้วยอาร์เรย์ว่าง
arrayUnion (องค์ประกอบ) ส่งกลับค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ที่บอกให้เซิร์ฟเวอร์รวมองค์ประกอบที่กำหนดเข้ากับค่าอาร์เรย์ใดๆ ที่มีอยู่แล้วบนเซิร์ฟเวอร์ แต่ละองค์ประกอบที่ระบุที่ไม่มีอยู่ในอาร์เรย์จะถูกเพิ่มที่ส่วนท้าย หากฟิลด์ที่กำลังแก้ไขไม่ได้เป็นอาร์เรย์ ฟิลด์นั้นจะถูกเขียนทับด้วยอาร์เรย์ที่มีองค์ประกอบที่ระบุทุกประการ
ฟังก์ชั่น(ฟิลด์, ...)
เฉลี่ย(สนาม) สร้างวัตถุ AggregateField ที่สามารถใช้เพื่อคำนวณค่าเฉลี่ยของเขตข้อมูลที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของแบบสอบถาม
ผลรวม (ฟิลด์) สร้างวัตถุ AggregateField ที่สามารถใช้เพื่อคำนวณผลรวมของฟิลด์ที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของแบบสอบถาม
ฟังก์ชั่น (fieldPath, ... )
orderBy (fieldPath, ทิศทางStr) สร้าง QueryOrderByConstraint ที่เรียงลำดับผลลัพธ์คิวรีตามฟิลด์ที่ระบุ หรือเรียงลำดับจากมากไปน้อยแทนที่จะเรียงลำดับจากน้อยไปมาก หมายเหตุ: เอกสารที่ไม่มีฟิลด์ที่ระบุจะไม่ปรากฏในผลลัพธ์แบบสอบถาม
โดยที่ (fieldPath, opStr, ค่า) สร้าง QueryFieldFilterConstraint ที่บังคับใช้ว่าเอกสารต้องมีฟิลด์ที่ระบุ และค่าควรเป็นไปตามข้อจำกัดความสัมพันธ์ที่ให้ไว้
ฟังก์ชั่น (ค่าฟิลด์ ... )
endAt (ค่าฟิลด์) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดที่ฟิลด์ที่ให้ไว้โดยสัมพันธ์กับลำดับของแบบสอบถาม ลำดับของค่าของฟิลด์ต้องตรงกับลำดับของคำสั่งตามคำสั่งย่อยของแบบสอบถาม
endBefore (ค่าฟิลด์) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดก่อนฟิลด์ที่ให้ไว้โดยสัมพันธ์กับลำดับของแบบสอบถาม ลำดับของค่าของฟิลด์ต้องตรงกับลำดับของคำสั่งตามคำสั่งย่อยของแบบสอบถาม
startAfter (ค่าฟิลด์) สร้าง QueryStartAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้เริ่มต้นหลังจากฟิลด์ที่ให้ไว้โดยสัมพันธ์กับลำดับของการสืบค้น ลำดับของค่าของฟิลด์ต้องตรงกับลำดับของคำสั่งตามคำสั่งย่อยของแบบสอบถาม
startAt (ค่าฟิลด์) สร้าง QueryStartAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้เริ่มต้นที่ฟิลด์ที่ให้ไว้โดยสัมพันธ์กับลำดับของการสืบค้น ลำดับของค่าของฟิลด์ต้องตรงกับลำดับของคำสั่งตามคำสั่งย่อยของแบบสอบถาม
ฟังก์ชั่น(ซ้าย, ...)
รวมFieldEqual (ซ้าย, ขวา) เปรียบเทียบ 'AggregateField ` กรณีเพื่อความเท่าเทียมกัน
รวม QuerySnapshotEqual (ซ้าย, ขวา) เปรียบเทียบอินสแตนซ์ AggregateQuerySnapshot สองอินสแตนซ์เพื่อความเท่าเทียมกัน AggregateQuerySnapshot สองอินสแตนซ์จะถือว่า "เท่ากัน" หากมีการสืบค้นพื้นฐานที่เปรียบเทียบเท่ากันและข้อมูลเดียวกัน
แบบสอบถามเท่ากับ (ซ้าย, ขวา) คืนค่าเป็นจริงหากแบบสอบถามที่ระบุชี้ไปที่คอลเลกชันเดียวกันและใช้ข้อจำกัดเดียวกัน
การอ้างอิง (ซ้าย, ขวา) คืนค่าเป็นจริงหากการอ้างอิงที่ระบุมีค่าเท่ากัน
สแน็ปช็อตเท่ากับ (ซ้าย, ขวา) คืนค่าเป็นจริงหากสแน็ปช็อตที่ระบุมีค่าเท่ากัน
ฟังก์ชั่น(จำกัด,...)
ขีดจำกัด(ขีดจำกัด) สร้าง QueryLimitConstraint ที่ส่งคืนเอกสารแรกที่ตรงกันเท่านั้น
จำกัดToLast(จำกัด) สร้าง QueryLimitConstraint ที่ส่งคืนเฉพาะเอกสารที่ตรงกันล่าสุดเท่านั้น คุณต้องระบุอย่างน้อยหนึ่งส่วนคำ orderBy สำหรับการสืบค้น limitToLast มิฉะนั้น ข้อยกเว้นจะเกิดขึ้นระหว่างการดำเนินการ
ฟังก์ชั่น (logLevel, ... )
setLogLevel (ระดับบันทึก) ตั้งค่ารายละเอียดของบันทึก Cloud Firestore (แก้ไขข้อบกพร่อง ข้อผิดพลาด หรือไม่มีการโต้ตอบ)
ฟังก์ชั่น(n, ...)
เพิ่มขึ้น(n) ส่งกลับค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ที่บอกให้เซิร์ฟเวอร์เพิ่มค่าปัจจุบันของฟิลด์ตามค่าที่กำหนด หากค่าตัวถูกดำเนินการหรือค่าฟิลด์ปัจจุบันใช้ความแม่นยำของจุดลอยตัว เลขคณิตทั้งหมดจะเป็นไปตามซีแมนทิกส์ IEEE 754 หากทั้งสองค่าเป็นจำนวนเต็ม ค่าที่อยู่นอกช่วงตัวเลขที่ปลอดภัยของ JavaScript ( Number.MIN_SAFE_INTEGER ถึง Number.MAX_SAFE_INTEGER ) ก็อาจสูญเสียความแม่นยำได้เช่นกัน นอกจากนี้ เมื่อประมวลผลโดยแบ็กเอนด์ Firestore แล้ว การดำเนินการจำนวนเต็มทั้งหมดจะถูกจำกัดระหว่าง -2^63 ถึง 2^63-1 หากค่าฟิลด์ปัจจุบันไม่ใช่ประเภท number หรือหากยังไม่มีฟิลด์ การแปลงจะตั้งค่าฟิลด์เป็นค่าที่กำหนด
ฟังก์ชั่น (แบบสอบถาม, ... )
getAggregate (แบบสอบถาม, รวม Spec) คำนวณการรวมที่ระบุบนเอกสารในชุดผลลัพธ์ของการสืบค้นที่กำหนดโดยไม่ต้องดาวน์โหลดเอกสารจริงๆ การใช้ฟังก์ชันนี้เพื่อดำเนินการรวมกลุ่มมีประสิทธิภาพเนื่องจากมีการดาวน์โหลดเฉพาะค่าการรวมสุดท้ายเท่านั้น ไม่ใช่ข้อมูลของเอกสาร ฟังก์ชันนี้สามารถดำเนินการรวมเอกสารในกรณีที่ชุดผลลัพธ์มีขนาดใหญ่จนไม่สามารถดาวน์โหลดทั้งหมดได้ (เอกสารนับพัน)
getCount (แบบสอบถาม) คำนวณจำนวนเอกสารในชุดผลลัพธ์ของการสืบค้นที่กำหนดโดยไม่ต้องดาวน์โหลดเอกสารจริง การใช้ฟังก์ชันนี้เพื่อนับเอกสารมีประสิทธิภาพเนื่องจากมีการดาวน์โหลดเฉพาะการนับครั้งสุดท้าย ไม่ใช่ข้อมูลของเอกสาร ฟังก์ชั่นนี้สามารถนับเอกสารในกรณีที่ชุดผลลัพธ์มีขนาดใหญ่จนต้องดาวน์โหลดทั้งหมด (เอกสารนับพัน)
getDocs(แบบสอบถาม) ดำเนินการค้นหาและส่งกลับผลลัพธ์เป็น QuerySnapshot . การสืบค้นทั้งหมดจะดำเนินการโดยตรงจากเซิร์ฟเวอร์ แม้ว่าการสืบค้นจะถูกดำเนินการก่อนหน้านี้ก็ตาม การแก้ไขล่าสุดจะแสดงเฉพาะในผลลัพธ์ที่ดึงมาหากได้นำไปใช้โดยแบ็กเอนด์แล้ว หากไคลเอ็นต์ออฟไลน์ การดำเนินการจะล้มเหลว หากต้องการดูผลลัพธ์ที่แคชไว้ก่อนหน้านี้และการแก้ไขในเครื่อง ให้ใช้ Firestore SDK แบบเต็ม
แบบสอบถาม (แบบสอบถาม, ตัวกรองคอมโพสิต, ข้อ จำกัด แบบสอบถาม) สร้างอินสแตนซ์ใหม่ของ แบบสอบถาม ที่ไม่เปลี่ยนรูปแบบซึ่งขยายเพื่อรวมข้อจำกัดแบบสอบถามเพิ่มเติมด้วย
แบบสอบถาม (แบบสอบถาม, ข้อ จำกัด ของแบบสอบถาม) สร้างอินสแตนซ์ใหม่ของ แบบสอบถาม ที่ไม่เปลี่ยนรูปแบบซึ่งขยายเพื่อรวมข้อจำกัดแบบสอบถามเพิ่มเติมด้วย
ฟังก์ชั่น (queryConstraints, ... )
และ (ข้อจำกัดแบบสอบถาม) สร้าง QueryCompositeFilterConstraint ใหม่ที่เป็นการรวมข้อจำกัดของตัวกรองที่กำหนด ตัวกรองร่วมจะรวมเอกสารไว้ด้วยหากเป็นไปตามตัวกรองที่กำหนดทั้งหมด
หรือ (ข้อจำกัดแบบสอบถาม) สร้าง QueryCompositeFilterConstraint ใหม่ที่เป็นการแยกจากข้อจำกัดตัวกรองที่กำหนด ตัวกรองการแยกส่วนจะรวมเอกสารหากเป็นไปตามตัวกรองใดๆ ที่กำหนด
ฟังก์ชั่น(อ้างอิง, ...)
addDoc(ข้อมูลอ้างอิง) เพิ่มเอกสารใหม่ให้กับ CollectionReference ที่ระบุด้วยข้อมูลที่กำหนด โดยกำหนด ID เอกสารให้โดยอัตโนมัติ ผลลัพธ์ของการเขียนนี้จะปรากฏในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอนต์ออฟไลน์ การเขียนล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
คอลเลกชัน (การอ้างอิง เส้นทาง เส้นทางเซ็กเมนต์) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเลกชันย่อยของ reference ที่เส้นทางสัมพัทธ์ที่ระบุ
คอลเลกชัน (การอ้างอิง เส้นทาง เส้นทางเซ็กเมนต์) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเลกชันย่อยของ reference ที่เส้นทางสัมพัทธ์ที่ระบุ
ลบDoc(อ้างอิง) ลบเอกสารที่อ้างถึงโดย DocumentReference ที่ระบุ การลบจะมีผลเฉพาะในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอ็นต์ออฟไลน์อยู่ การลบจะล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
doc(อ้างอิง, เส้นทาง, pathSegments) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางสัมพัทธ์ที่ระบุ หากไม่มีการระบุเส้นทาง ระบบจะใช้ ID เฉพาะที่สร้างขึ้นโดยอัตโนมัติสำหรับ DocumentReference ที่ส่งคืน
doc(อ้างอิง, เส้นทาง, pathSegments) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางสัมพัทธ์ที่ระบุ
getDoc (อ้างอิง) อ่านเอกสารที่อ้างถึงโดยการอ้างอิงเอกสารที่ระบุ เอกสารทั้งหมดจะถูกดึงมาจากเซิร์ฟเวอร์โดยตรง แม้ว่าเอกสารนั้นจะถูกอ่านหรือแก้ไขก่อนหน้านี้ก็ตาม การแก้ไขล่าสุดจะแสดงเฉพาะใน DocumentSnapshot ที่ดึงมาเท่านั้น หากมีการใช้โดยแบ็กเอนด์แล้ว หากไคลเอ็นต์ออฟไลน์ การอ่านจะล้มเหลว หากคุณต้องการใช้แคชหรือดูการแก้ไขในเครื่อง โปรดใช้ Firestore SDK แบบเต็ม
setDoc(อ้างอิง ข้อมูล) เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ที่ระบุ หากยังไม่มีเอกสารก็จะถูกสร้างขึ้น ผลลัพธ์ของการเขียนนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอนต์ออฟไลน์ การเขียนล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
setDoc(ข้อมูลอ้างอิง ข้อมูล ตัวเลือก) เขียนไปยังเอกสารที่อ้างอิงโดย DocumentReference ที่ระบุ หากยังไม่มีเอกสารก็จะถูกสร้างขึ้น หากคุณระบุ merge หรือ mergeFields ข้อมูลที่ระบุสามารถผสานเข้ากับเอกสารที่มีอยู่ได้ ผลลัพธ์ของการเขียนนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากที่สัญญาที่ส่งคืนได้รับการแก้ไขแล้วเท่านั้น หากไคลเอนต์ออฟไลน์ การเขียนล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
updateDoc(ข้อมูลอ้างอิง ข้อมูล) อัปเดตฟิลด์ในเอกสารที่อ้างถึงโดย DocumentReference ที่ระบุ การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่ ผลลัพธ์ของการอัปเดตนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากแก้ไขสัญญาที่ส่งคืนแล้วเท่านั้น หากไคลเอ็นต์ออฟไลน์ การอัปเดตจะล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
updateDoc (การอ้างอิง ฟิลด์ ค่า moreFieldsAndValues) อัปเดตฟิลด์ในเอกสารที่อ้างอิงโดย DocumentReference ที่ระบุ การอัปเดตจะล้มเหลวหากนำไปใช้กับเอกสารที่ไม่มีอยู่ ฟิลด์ที่ซ้อนกันสามารถอัปเดตได้โดยการระบุสตริงพาธของฟิลด์ที่คั่นด้วยจุด หรือโดยการจัดเตรียมออบเจ็กต์ FieldPath ผลลัพธ์ของการอัปเดตนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากแก้ไขสัญญาที่ส่งคืนแล้วเท่านั้น หากไคลเอ็นต์ออฟไลน์ การอัปเดตจะล้มเหลว หากคุณต้องการเห็นการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
ฟังก์ชั่น (สแนปช็อต, ... )
สิ้นสุดที่ (ภาพรวม) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดที่เอกสารที่ให้มา (รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของแบบสอบถาม เอกสารจะต้องมีฟิลด์ทั้งหมดที่ระบุไว้ใน orderBy ของแบบสอบถาม
สิ้นสุดก่อน (ภาพรวม) สร้าง QueryEndAtConstraint ที่แก้ไขชุดผลลัพธ์ให้สิ้นสุดก่อนเอกสารที่ให้มา (พิเศษ) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของแบบสอบถาม เอกสารจะต้องมีฟิลด์ทั้งหมดที่ระบุไว้ใน orderBy ของแบบสอบถาม
startAfter (ภาพรวม) สร้าง QueryStartAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้เริ่มต้นหลังจากเอกสารที่ให้มา (เฉพาะ) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของแบบสอบถาม เอกสารจะต้องมีฟิลด์ทั้งหมดที่ระบุไว้ใน orderBy ของแบบสอบถาม
startAt (ภาพรวม) สร้าง QueryStartAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้เริ่มต้นที่เอกสารที่ให้มา (รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของแบบสอบถาม เอกสารจะต้องมีฟิลด์ทั้งหมดที่ระบุไว้ใน orderBy ของแบบสอบถามนี้

ชั้นเรียน

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

อินเทอร์เฟซ

อินเตอร์เฟซ คำอธิบาย
ข้อมูลจำเพาะรวม ระบุชุดของการรวมและนามแฝง
DocumentData ข้อมูลเอกสาร (สำหรับใช้กับ setDoc() ) ประกอบด้วยฟิลด์ที่แมปกับค่า
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
การตั้งค่า ระบุการกำหนดค่าที่กำหนดเองสำหรับอินสแตนซ์ Cloud Firestore ของคุณ คุณต้องตั้งค่าเหล่านี้ก่อนเรียกใช้วิธีอื่น
ตัวเลือกการทำธุรกรรม ตัวเลือกในการปรับแต่งพฤติกรรมการทำธุรกรรม

พิมพ์นามแฝง

พิมพ์นามแฝง คำอธิบาย
AddPrefixToKeys ส่งคืนแผนที่ใหม่ที่ทุกคีย์นำหน้าด้วยคีย์ด้านนอกต่อท้ายจุด
ประเภทฟิลด์รวม การรวมประเภท AggregateField ทั้งหมดที่ Firestore รองรับ
ข้อมูลข้อมูลจำเพาะรวม ประเภทที่คีย์นำมาจาก AggregateSpec และมีค่าเป็นผลลัพธ์ของการรวมที่ดำเนินการโดย AggregateField ที่สอดคล้องกันจากอินพุต AggregateSpec
ประเภทรวม ประเภทยูเนี่ยนแสดงถึงประเภทรวมที่จะดำเนินการ
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
รหัสข้อผิดพลาดของ Firestore ชุดรหัสสถานะ Firestore รหัสเหมือนกันกับรหัสที่ gRPC เปิดเผยที่นี่: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md ค่าที่เป็นไปได้: - 'ยกเลิก': การดำเนินการถูกยกเลิก (โดยทั่วไปโดยผู้โทร) - 'unknown': ข้อผิดพลาดที่ไม่รู้จักหรือข้อผิดพลาดจากโดเมนข้อผิดพลาดอื่น - 'invalid-argument': ลูกค้าระบุอาร์กิวเมนต์ที่ไม่ถูกต้อง โปรดทราบว่าสิ่งนี้แตกต่างจาก 'เงื่อนไขที่ล้มเหลว' 'อาร์กิวเมนต์ที่ไม่ถูกต้อง' บ่งชี้ถึงอาร์กิวเมนต์ที่เป็นปัญหาโดยไม่คำนึงถึงสถานะของระบบ (เช่นชื่อฟิลด์ที่ไม่ถูกต้อง) - 'deadline-exceeded': กำหนดเวลาสิ้นสุดก่อนที่การดำเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบ ข้อผิดพลาดนี้อาจถูกส่งกลับแม้ว่าการดำเนินการจะเสร็จสมบูรณ์แล้วก็ตาม ตัวอย่างเช่น การตอบกลับที่สำเร็จจากเซิร์ฟเวอร์อาจมีความล่าช้านานพอที่จะหมดกำหนดเวลา - 'ไม่พบ': ไม่พบเอกสารที่ร้องขอบางรายการ - 'มีอยู่แล้ว': เอกสารบางรายการที่เราพยายามสร้างมีอยู่แล้ว - 'permission-denied': ผู้เรียกไม่ได้รับอนุญาตให้ดำเนินการตามที่ระบุ - 'ทรัพยากรหมด': ทรัพยากรบางส่วนหมดลง อาจเป็นโควต้าต่อผู้ใช้ หรือบางทีระบบไฟล์ทั้งหมดไม่มีพื้นที่เหลือ - 'failed-precondition': การดำเนินการถูกปฏิเสธเนื่องจากระบบไม่อยู่ในสถานะที่จำเป็นสำหรับการดำเนินการของการดำเนินการ - 'ยกเลิก': การดำเนินการถูกยกเลิก โดยทั่วไปเนื่องจากปัญหาการทำงานพร้อมกัน เช่น การยกเลิกธุรกรรม ฯลฯ - 'อยู่นอกขอบเขต': มีความพยายามดำเนินการเกินช่วงที่ถูกต้อง - 'ไม่ได้ใช้งาน': การดำเนินการไม่ได้รับการใช้งานหรือไม่รองรับ/เปิดใช้งาน - 'ภายใน': ข้อผิดพลาดภายใน หมายความว่าค่าคงที่บางตัวที่คาดไว้โดยระบบพื้นฐานนั้นเสียหาย หากคุณเห็นข้อผิดพลาดข้อใดข้อหนึ่ง แสดงว่ามีบางอย่างเสียหายมาก - 'ไม่พร้อมใช้งาน': บริการไม่พร้อมใช้งานในขณะนี้ นี่น่าจะเป็นสภาวะชั่วคราวและอาจแก้ไขได้ด้วยการลองย้อนกลับอีกครั้ง - 'ข้อมูลสูญหาย': ข้อมูลสูญหายหรือเสียหายที่ไม่สามารถกู้คืนได้ - 'ไม่ได้รับการรับรองความถูกต้อง': คำขอไม่มีข้อมูลรับรองการตรวจสอบความถูกต้องที่ถูกต้องสำหรับการดำเนินการ
NestedUpdateFields สำหรับแต่ละฟิลด์ (เช่น 'bar') ให้ค้นหาคีย์ที่ซ้อนกันทั้งหมด (เช่น { 'bar.baz': T1, 'bar.qux': T2 } ). ตัดกันเพื่อสร้างแผนที่เดียวที่มีคีย์ที่เป็นไปได้ทั้งหมดที่ทำเครื่องหมายว่าเป็นทางเลือก
สั่งซื้อตามทิศทาง ทิศทางของคำ สั่ง orderBy() ถูกระบุเป็น 'desc' หรือ 'asc' (จากมากไปน้อยหรือจากน้อยไปมาก)
บางส่วนด้วยFieldValue คล้ายกับ Partial<T> ของ Typescript แต่อนุญาตให้ละเว้นฟิลด์ที่ซ้อนกันและส่ง FieldValues ​​เป็นค่าคุณสมบัติได้
ดั้งเดิม ประเภทดั้งเดิม
QueryConstraintType อธิบายข้อจำกัดการสืบค้นต่างๆ ที่มีอยู่ใน SDK นี้
QueryFilterConstraint QueryFilterConstraint เป็นประเภทยูเนี่ยนตัวช่วยที่แสดงถึง QueryFieldFilterConstraint และ QueryCompositeFilterConstraint .
QueryNonFilterConstraint QueryNonFilterConstraint เป็นประเภทสหภาพผู้ช่วยเหลือที่แสดงถึง QueryConstraints ซึ่งใช้ในการจำกัดหรือจัดลำดับชุดเอกสาร แต่ไม่ได้กรองฟิลด์เอกสารอย่างชัดเจน QueryNonFilterConstraint s ถูกสร้างขึ้นโดยการเรียกใช้ orderBy() , เริ่มต้นที่() , startAfter() , สิ้นสุดก่อน() , สิ้นสุดที่() , Limit() หรือ LimitToLast() จากนั้นสามารถส่งผ่านไปยัง query() เพื่อสร้างอินสแตนซ์การสืบค้นใหม่ที่มี QueryConstraint ด้วย
ตั้งค่าตัวเลือก วัตถุตัวเลือกที่กำหนดค่าพฤติกรรมของ setDoc() และโทร การเรียกเหล่านี้สามารถกำหนดค่าให้ทำการผสานแบบละเอียด แทนที่จะเขียนทับเอกสารเป้าหมายทั้งหมดโดยการจัดเตรียม SetOptions ด้วย merge: true
UnionToIntersection กำหนดประเภทยูเนี่ยน 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 -พิมพ์
อัปเดตข้อมูล อัปเดตข้อมูล (สำหรับใช้กับ updateDoc() ) ที่ประกอบด้วยเส้นทางฟิลด์ (เช่น 'foo' หรือ 'foo.baz') ที่แมปกับค่าต่างๆ ช่องที่มีจุดอ้างอิงช่องที่ซ้อนกันภายในเอกสาร FieldValues ​​สามารถส่งผ่านเป็นค่าคุณสมบัติได้
WhereFilterOp เงื่อนไขตัวกรองในส่วนคำสั่ง 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 ของแอปที่ให้มา

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

ร้านดับเพลิง

อินสแตนซ์ Firestore ของแอปที่ให้มา

InitializeFirestore (แอพ การตั้งค่า)

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

ลายเซ็น:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

พารามิเตอร์

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

ผลตอบแทน:

ร้านดับเพลิง

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

InitializeFirestore (แอพ, การตั้งค่า, รหัสฐานข้อมูล)

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

ร้านดับเพลิง

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

ฟังก์ชั่น(ร้านดับเพลิง, ...)

คอลเลกชัน (firestore, เส้นทาง, pathSegments)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

คอลเลกชันอ้างอิง < เอกสารข้อมูล , เอกสารข้อมูล >

อินสแตนซ์ CollectionReference

ข้อยกเว้น

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

collectionGroup (firestore, collectionId)

สร้างและส่งคืนอิน Query แบบสอบถามใหม่ที่มีเอกสารทั้งหมดในฐานข้อมูลที่มีอยู่ในคอลเลกชันหรือการรวบรวมย่อยด้วย collectionId ที่กำหนด .

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

สอบถาม < documentData , documentdata >

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

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

ปรับเปลี่ยนอินสแตนซ์นี้เพื่อสื่อสารกับเครื่องจำลองคลาวด์ไฟร์สโคป

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เปลวไฟ เปลวไฟ อินสแตนซ์ Firestore เพื่อกำหนดค่าเพื่อเชื่อมต่อกับตัวจำลอง
เจ้าภาพ เชือก โฮสต์ Emulator (เช่น localhost)
ท่าเรือ ตัวเลข พอร์ต Emulator (เช่น: 9000)
ตัวเลือก {mockusertoken?: emulatormocktokenoptions | สตริง; }

ผลตอบแทน:

เป็นโมฆะ

หมอ (Firestore, Path, Pathsegments)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

เอกสารเกี่ยวกับเอกสาร < documentData , documentdata >

อินสแตนซ์ DocumentReference

ข้อยกเว้น

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

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 เพื่อเรียกใช้การทำธุรกรรมนี้
UpdateFunction (ธุรกรรม: ธุรกรรม ) => สัญญา <t> ฟังก์ชั่นเพื่อดำเนินการภายในบริบทการทำธุรกรรม
ตัวเลือก TransactionOptions ตัวเลือกวัตถุเพื่อกำหนดค่าจำนวนสูงสุดของความพยายามในการกระทำ

ผลตอบแทน:

สัญญา <t>

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

ยุติ (Firestore)

ยุติอินสแตนซ์ Firestore ที่ให้ไว้

หลังจากการโทร terminate() เฉพาะฟังก์ชัน clearIndexedDbPersistence() เท่านั้น ฟังก์ชั่นอื่น ๆ จะโยน FirestoreError . การเลิกจ้างไม่ได้ยกเลิกการเขียนที่ค้างอยู่และสัญญาใด ๆ ที่กำลังรอการตอบกลับจากเซิร์ฟเวอร์จะไม่ได้รับการแก้ไข

หากต้องการเริ่มต้นใหม่หลังจากการเลิกจ้างให้สร้างอินสแตนซ์ใหม่ของ Firestore ด้วย getFirestore () .

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เปลวไฟ เปลวไฟ อินสแตนซ์ Firestore ที่จะยุติ

ผลตอบแทน:

สัญญา<โมฆะ>

Promise ที่ได้รับการแก้ไขเมื่ออินสแตนซ์ถูกยกเลิกสำเร็จ

Writebatch (Firestore)

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

ผลลัพธ์ของการเขียนเหล่านี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากการแก้ไขสัญญาที่ส่งคืน หากลูกค้าออฟไลน์การเขียนล้มเหลว หากคุณต้องการดูการแก้ไขในท้องถิ่นหรือบัฟเฟอร์เขียนจนกว่าลูกค้าจะออนไลน์ให้ใช้ Firestore SDK แบบเต็ม

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
เปลวไฟ เปลวไฟ

ผลตอบแทน:

batch

WriteBatch ที่สามารถใช้ในการดำเนินการเขียนหลายครั้ง

การทำงาน()

นับ()

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

ลายเซ็น:

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

ผลตอบแทน:

ฟีลล์รวม <gumber>

DELETEFIELD ()

ส่งคืน Sentinel เพื่อใช้กับ updateDoC () หรือ setDoc () ด้วย {merge: true} เพื่อทำเครื่องหมายฟิลด์สำหรับการลบ

ลายเซ็น:

export declare function deleteField(): FieldValue;

ผลตอบแทน:

ค่าเงิน

DocumentId ()

ส่งคืน Sentinel FieldPath พิเศษเพื่ออ้างถึง ID ของเอกสาร สามารถใช้ในการสืบค้นเพื่อเรียงลำดับหรือกรองด้วยรหัสเอกสาร

ลายเซ็น:

export declare function documentId(): FieldPath;

ผลตอบแทน:

FieldPath

getFirestore ()

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

ลายเซ็น:

export declare function getFirestore(): Firestore;

ผลตอบแทน:

เปลวไฟ

อินสแตนซ์ Firestore ของแอพที่ให้ไว้

servertimestamp ()

ส่งคืน Sentinel ที่ใช้กับ setDoc () หรือ updateDoC () เพื่อรวมการประทับเวลาที่สร้างจากเซิร์ฟเวอร์ในข้อมูลที่เป็นลายลักษณ์อักษร

ลายเซ็น:

export declare function serverTimestamp(): FieldValue;

ผลตอบแทน:

ค่าเงิน

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

GetFirestore (DatabaseID)

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

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ฐานข้อมูล เชือก ชื่อของฐานข้อมูล

ผลตอบแทน:

เปลวไฟ

อินสแตนซ์ Firestore ของแอพที่ให้ไว้

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

ค่าเงิน

FieldValue Sentinel สำหรับใช้ในการโทรไปยัง setDoc() หรือ updateDoc()

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

ค่าเงิน

FieldValue Sentinel สำหรับใช้ในการโทรไปยัง setDoc() หรือ updateDoc() .

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

ฟีลล์รวม <หมายเลข | null>

ผลรวม (ฟิลด์)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

ฟีลล์รวม <gumber>

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

orderby (FieldPath, DirectionSTR)

สร้าง QueryOrderByConstraint ที่เรียงลำดับผลลัพธ์การสืบค้นโดยฟิลด์ที่ระบุโดยเลือกตามลำดับจากมากไปน้อยแทนที่จะเพิ่มขึ้น

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

QueryOrderByConstraint

queryorderbyconstraint ที่สร้างขึ้น .

โดยที่ (FieldPath, Opstr, ค่า)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

queryfieldfilterconstraint

queryfieldfilterconstraint ที่สร้างขึ้น .

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

Endat (FieldValues)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ค่าฟิลด์ ไม่ทราบ [] ค่าฟิลด์จะสิ้นสุดการสืบค้นนี้ที่ตามลำดับของคำสั่งของแบบสอบถามโดย

ผลตอบแทน:

queryendatconstraint

queryendatconstraint เพื่อส่งผ่านไปยัง query()

Endefore (FieldValues)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

queryendatconstraint

queryendatconstraint เพื่อส่งผ่านไปยัง query()

เริ่มต้น (FieldValues)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ค่าฟิลด์ ไม่ทราบ [] ค่าฟิลด์เริ่มต้นแบบสอบถามนี้หลังจากนั้นตามลำดับของคำสั่งของแบบสอบถามโดย

ผลตอบแทน:

QueryStartAtConstraint

querystartatconstraint เพื่อส่งผ่านไปยัง query()

startat (FieldValues)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ค่าฟิลด์ ไม่ทราบ [] ค่าฟิลด์เริ่มต้นแบบสอบถามนี้ตามลำดับของคำสั่งของแบบสอบถามโดย

ผลตอบแทน:

QueryStartAtConstraint

querystartatconstraint เพื่อส่งผ่านไปยัง query() .

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

AggregateFieldequal (ซ้ายขวา)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ซ้าย ฟีลล์รวม <ไม่ทราบ> เปรียบเทียบ AggregateField นี้ทาง right
ขวา ฟีลล์รวม <ไม่ทราบ> เปรียบเทียบ AggregateField นี้กับ left

ผลตอบแทน:

บูลีน

AggregateQuerysnapshotequal (ซ้าย, ขวา)

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

AggregateQuerySnapshot สองรายการจะถูกพิจารณาว่า "เท่ากัน" หากพวกเขามีการสืบค้นพื้นฐานที่เปรียบเทียบเท่ากันและข้อมูลเดียวกัน

ลายเซ็น:

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 ที่สองเพื่อเปรียบเทียบ

ผลตอบแทน:

บูลีน

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 เพื่อเปรียบเทียบ

ผลตอบแทน:

บูลีน

จริงหากการอ้างอิงชี้ไปยังตำแหน่งเดียวกันในฐานข้อมูล 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;

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ซ้าย เอกสารเกี่ยวกับเอกสาร <AppModelType, DBModelType> | การรวบรวม <AppModeltype, dbmodeltype> การอ้างอิงถึงการเปรียบเทียบ
ขวา เอกสารเกี่ยวกับเอกสาร <AppModelType, DBModelType> | การรวบรวม <AppModeltype, dbmodeltype> การอ้างอิงถึงการเปรียบเทียบ

ผลตอบแทน:

บูลีน

จริงหากการอ้างอิงชี้ไปยังตำแหน่งเดียวกันในฐานข้อมูล 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> ภาพรวมที่จะเปรียบเทียบ

ผลตอบแทน:

บูลีน

จริงถ้าสแน็ปช็อตเท่ากัน

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

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

สร้าง QueryLimitConstraint ที่ส่งคืนเอกสารการจับคู่แรกเท่านั้น

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

querylimitconstraint

queryLimitConstraint ที่สร้างขึ้น .

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

สร้าง QueryLimitConstraint ที่ส่งคืนเอกสารการจับคู่สุดท้ายเท่านั้น

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

querylimitconstraint

queryLimitConstraint ที่สร้างขึ้น .

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

Setloglevel (loglevel)

ตั้งค่าคำย่ำแย่ของบันทึก Firestore คลาวด์ (การดีบักข้อผิดพลาดหรือเงียบ)

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

เป็นโมฆะ

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

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

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

หากตัวถูกดำเนินการหรือค่าฟิลด์ปัจจุบันใช้ความแม่นยำของจุดลอยตัวเลขคณิตทั้งหมดจะเป็นไปตามความหมายของ IEEE 754 หากค่าทั้งสองเป็นจำนวนเต็มค่านอกช่วงหมายเลขปลอดภัยของ 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 Sentinel สำหรับใช้ในการโทรไปยัง setDoc() หรือ updateDoc()

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

GetAggregate (Query, Aggregatespec)

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

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
สอบถาม สอบถาม <AppModeltype, dbmodeltype> แบบสอบถามที่มีชุดผลลัพธ์ถูกรวมเข้าด้วยกัน
การรวม มวลรวม วัตถุ AggregateSpec ที่ระบุการรวมเพื่อดำเนินการผ่านชุดผลลัพธ์ AumgregatesPec ระบุนามแฝงสำหรับการรวมแต่ละครั้งซึ่งสามารถใช้เพื่อดึงผลลัพธ์รวม

ผลตอบแทน:

สัญญา < AggregateQuerysnapshot <Aggregatespectype, AppModelType, DBModelType >>

ตัวอย่าง

const aggregateSnapshot = await getAggregate(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;

getCount (คำถาม)

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

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
สอบถาม สอบถาม <AppModeltype, dbmodeltype> แบบสอบถามที่มีการคำนวณขนาดชุดผลลัพธ์

ผลตอบแทน:

สัญญา < AggregateQuerysnapshot <{นับ: AggregateField <gumber>; }, AppModelType, DBModelType >>

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

getDocs (คำถาม)

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

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
สอบถาม สอบถาม <AppModeltype, dbmodeltype> Query เพื่อดำเนินการ

ผลตอบแทน:

สัญญา < querysnapshot <AppModelType, DBModelType >>

สัญญาที่จะได้รับการแก้ไขด้วยผลลัพธ์ของการสืบค้น

แบบสอบถาม (Query, CompositeFilter, QueryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
สอบถาม สอบถาม <AppModeltype, dbmodeltype> อินส แตน ซ์แบบสอบถามที่จะใช้เป็นฐานสำหรับข้อ จำกัด ใหม่
คอมโพสิตฟิลเตอร์ QueryCompositeFilterConstraint queryCompositeFilterConstraint ที่จะใช้ สร้าง QueryCompositeFilterConstraint โดยใช้ และ () หรือ หรือ () .
การสืบค้น queryNonFilterConstraint [] เพิ่มเติม queryNonFilterConstraint S to applic (เช่น order by () , ขีด จำกัด () ).

ผลตอบแทน:

สอบถาม <AppModeltype, dbmodeltype>

ข้อยกเว้น

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

แบบสอบถาม (Query, QueryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

สอบถาม <AppModeltype, dbmodeltype>

ข้อยกเว้น

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

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

และ (QueryConstraints)

สร้าง queryCompositeFilterConstraint ใหม่ซึ่งเป็นการรวมกันของข้อ จำกัด ตัวกรองที่กำหนด ตัวกรองร่วมรวมถึงเอกสารหากเป็นไปตามตัวกรองที่กำหนดทั้งหมด

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

QueryCompositeFilterConstraint

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

หรือ (QueryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

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

ผลตอบแทน:

QueryCompositeFilterConstraint

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

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

adddoc (อ้างอิงข้อมูล)

เพิ่มเอกสารใหม่เพื่อระบุ CollectionReference ข้อมูลที่ระบุด้วยข้อมูลที่กำหนดโดยกำหนดรหัสเอกสารโดยอัตโนมัติ

ผลลัพธ์ของการเขียนนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากการแก้ไขสัญญาที่ส่งคืน หากลูกค้าออฟไลน์การเขียนล้มเหลว หากคุณต้องการดูการแก้ไขในท้องถิ่นหรือบัฟเฟอร์เขียนจนกว่าลูกค้าจะออนไลน์ให้ใช้ Firestore SDK แบบเต็ม

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง การรวบรวม <AppModeltype, dbmodeltype> การอ้างอิงถึงคอลเลกชันเพื่อเพิ่มเอกสารนี้ไป
ข้อมูล withfieldvalue <AppModelType> วัตถุที่มีข้อมูลสำหรับเอกสารใหม่

ผลตอบแทน:

สัญญา < documentreference <AppModelType, DBModelType >>

Promise ที่ได้รับการแก้ไขด้วย DocumentReference ที่ชี้ไปที่เอกสารที่สร้างขึ้นใหม่หลังจากที่มันถูกเขียนลงในแบ็กเอนด์

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้ไว้ไม่ใช่เอกสาร Firestore ที่ถูกต้อง

คอลเลกชัน (อ้างอิง, เส้นทาง, เส้นทาง)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง การรวบรวม <AppModeltype, dbmodeltype> การอ้างอิงถึงคอลเลกชัน
เส้นทาง เชือก เส้นทางที่คั่นด้วยสแลชไปยังคอลเลกชัน
เส้นทางเดิน สตริง[] ส่วนเส้นทางเพิ่มเติมที่จะใช้สัมพันธ์กับอาร์กิวเมนต์แรก

ผลตอบแทน:

การรวบรวม < documentData , documentdata >

อินสแตนซ์ CollectionReference

ข้อยกเว้น

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

คอลเลกชัน (อ้างอิง, เส้นทาง, เส้นทาง)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสาร Firestore
เส้นทาง เชือก เส้นทางที่คั่นด้วยสแลชไปยังคอลเลกชัน
เส้นทางเดิน สตริง[] ส่วนเส้นทางเพิ่มเติมที่จะนำไปใช้เมื่อเทียบกับอาร์กิวเมนต์แรก

ผลตอบแทน:

การรวบรวม < documentData , documentdata >

อินสแตนซ์ CollectionReference

ข้อยกเว้น

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

DELETEDOC (อ้างอิง)

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

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสารเพื่อลบ

ผลตอบแทน:

สัญญา<โมฆะ>

Promise ได้รับการแก้ไขเมื่อเอกสารถูกลบออกจากแบ็กเอนด์สำเร็จ

doc (อ้างอิง, เส้นทาง, pathsegments)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง การรวบรวม <AppModeltype, dbmodeltype> การอ้างอิงถึงคอลเลกชัน
เส้นทาง เชือก เส้นทางที่คั่นด้วยสแลชไปยังเอกสาร จะต้องถูกละเว้นให้ใช้ ID ที่กำหนดอัตโนมัติ
เส้นทางเดิน สตริง[] ส่วนเส้นทางเพิ่มเติมที่จะนำไปใช้เมื่อเทียบกับอาร์กิวเมนต์แรก

ผลตอบแทน:

เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype>

อินสแตนซ์ DocumentReference

ข้อยกเว้น

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

doc (อ้างอิง, เส้นทาง, pathsegments)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสาร Firestore
เส้นทาง เชือก เส้นทางที่คั่นด้วยสแลชไปยังเอกสาร
เส้นทางเดิน สตริง[] ส่วนเส้นทางเพิ่มเติมที่จะนำไปใช้เมื่อเทียบกับอาร์กิวเมนต์แรก

ผลตอบแทน:

เอกสารเกี่ยวกับเอกสาร < documentData , documentdata >

อินสแตนซ์ DocumentReference

ข้อยกเว้น

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

getDoc (อ้างอิง)

อ่านเอกสารที่อ้างถึงโดยการอ้างอิงเอกสารที่ระบุ

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงของเอกสารเพื่อดึงข้อมูล

ผลตอบแทน:

สัญญา < documentsnapshot <AppModelType, DBModelType >>

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

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

เขียนไปยังเอกสารที่อ้างถึงโดย DocumentReference ที่ระบุ . หากเอกสารยังไม่มีอยู่จะถูกสร้างขึ้น

ผลลัพธ์ของการเขียนนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากการแก้ไขสัญญาที่ส่งคืน หากลูกค้าออฟไลน์การเขียนล้มเหลว หากคุณต้องการดูการแก้ไขในท้องถิ่นหรือบัฟเฟอร์เขียนจนกว่าลูกค้าจะออนไลน์ให้ใช้ Firestore SDK แบบเต็ม

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสารที่จะเขียน
ข้อมูล withfieldvalue <AppModelType> แผนที่ของฟิลด์และค่าสำหรับเอกสาร

ผลตอบแทน:

สัญญา<โมฆะ>

Promise ได้รับการแก้ไขเมื่อข้อมูลถูกเขียนไปยังแบ็กเอนด์สำเร็จ

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้ไว้ไม่ใช่เอกสาร Firestore ที่ถูกต้อง

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

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

ผลลัพธ์ของการเขียนนี้จะสะท้อนให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากการแก้ไขสัญญาที่ส่งคืน หากลูกค้าออฟไลน์การเขียนล้มเหลว หากคุณต้องการดูการแก้ไขในท้องถิ่นหรือบัฟเฟอร์เขียนจนกว่าลูกค้าจะออนไลน์ให้ใช้ Firestore SDK แบบเต็ม

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสารที่จะเขียน
ข้อมูล บางส่วน withfieldValue <AppModelType> แผนที่ของฟิลด์และค่าสำหรับเอกสาร
ตัวเลือก setoptions วัตถุในการกำหนดค่าพฤติกรรมที่ตั้งไว้

ผลตอบแทน:

สัญญา<โมฆะ>

Promise ได้รับการแก้ไขเมื่อข้อมูลถูกเขียนไปยังแบ็กเอนด์สำเร็จ

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้ไว้ไม่ใช่เอกสาร Firestore ที่ถูกต้อง

UPDATEDOC (ข้อมูลอ้างอิงข้อมูล)

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

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสารเพื่ออัปเดต
ข้อมูล อัปเดต <dbmodeltype> วัตถุที่มีฟิลด์และค่าที่จะอัปเดตเอกสาร ฟิลด์สามารถมีจุดสำหรับอ้างอิงฟิลด์ซ้อนกันภายในเอกสาร

ผลตอบแทน:

สัญญา<โมฆะ>

Promise ได้รับการแก้ไขเมื่อข้อมูลถูกเขียนไปยังแบ็กเอนด์สำเร็จ

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้ข้อมูลไม่ถูกต้อง

UPDATEDOC (การอ้างอิง, ฟิลด์, ค่า, MorefieldSandValues)

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

สามารถอัปเดตฟิลด์ที่ซ้อนกันได้โดยการจัดหาสตริงเส้นทางฟิลด์ที่คั่นด้วยจุดหรือโดยการจัดหาวัตถุ FieldPath

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
อ้างอิง เอกสารเกี่ยวกับเอกสาร <AppModeltype, dbmodeltype> การอ้างอิงถึงเอกสารเพื่ออัปเดต
สนาม สตริง | FieldPath ฟิลด์แรกที่จะอัปเดต
ค่า ไม่ทราบ ค่าแรก
MorefieldSandValues ไม่ทราบ [] คู่ค่าคีย์เพิ่มเติม

ผลตอบแทน:

สัญญา<โมฆะ>

Promise ได้รับการแก้ไขเมื่อข้อมูลถูกเขียนไปยังแบ็กเอนด์สำเร็จ

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ให้ข้อมูลไม่ถูกต้อง

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

Endat (Snapshot)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ภาพรวม DocumentsNapShot <AppModeltype, dbmodeltype> ภาพรวมของเอกสารที่จะสิ้นสุดที่

ผลตอบแทน:

queryendatconstraint

queryendatconstraint เพื่อส่งผ่านไปยัง query()

endbefore (snapshot)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ภาพรวม DocumentsNapShot <AppModeltype, dbmodeltype> ภาพรวมของเอกสารที่จะสิ้นสุดก่อน

ผลตอบแทน:

queryendatconstraint

queryendatconstraint เพื่อส่งผ่านไปยัง query()

startfter (snapshot)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ภาพรวม DocumentsNapShot <AppModeltype, dbmodeltype> ภาพรวมของเอกสารที่จะเริ่มหลังจาก

ผลตอบแทน:

QueryStartAtConstraint

querystartatconstraint เพื่อส่งผ่านไปยัง query()

startat (snapshot)

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ พิมพ์ คำอธิบาย
ภาพรวม DocumentsNapShot <AppModeltype, dbmodeltype> ภาพรวมของเอกสารที่จะเริ่มต้นที่

ผลตอบแทน:

QueryStartAtConstraint

querystartatconstraint เพื่อส่งผ่านไปยัง query() .

addprefixtokeys

ส่งคืนแผนที่ใหม่ที่คีย์ทุกตัวจะถูกนำหน้าด้วยคีย์ด้านนอกต่อท้ายลงใน DOT

ลายเซ็น:

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];
};

รวมฟีลล์ฟิลด์

สหภาพของทุกประเภท 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;
};

การรวมตัวกัน

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

ลายเซ็น:

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

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

ลายเซ็น:

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

FirestoreerrorCode

ชุดรหัสสถานะ Firestore รหัสจะเหมือนกันในรหัสที่เปิดเผยโดย GRPC ที่นี่: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

ค่าที่เป็นไปได้: - 'ยกเลิก': การดำเนินการถูกยกเลิก (โดยทั่วไปโดยผู้โทร) - 'ไม่ทราบ': ข้อผิดพลาดที่ไม่รู้จักหรือข้อผิดพลาดจากโดเมนข้อผิดพลาดอื่น - 'argument ไม่ถูกต้อง': ไคลเอนต์ระบุอาร์กิวเมนต์ที่ไม่ถูกต้อง โปรดทราบว่าสิ่งนี้แตกต่างจาก 'เงื่อนไขที่ล้มเหลว' 'argument ไม่ถูกต้อง' หมายถึงอาร์กิวเมนต์ที่มีปัญหาโดยไม่คำนึงถึงสถานะของระบบ (เช่นชื่อฟิลด์ที่ไม่ถูกต้อง) - 'กำหนดเวลา- เกิน': กำหนดเวลาหมดอายุก่อนที่การดำเนินการจะเสร็จสมบูรณ์ สำหรับการดำเนินการที่เปลี่ยนสถานะของระบบข้อผิดพลาดนี้อาจถูกส่งคืนแม้ว่าการดำเนินการจะเสร็จสมบูรณ์ ตัวอย่างเช่นการตอบสนองที่ประสบความสำเร็จจากเซิร์ฟเวอร์อาจล่าช้าไปนานพอที่กำหนดเวลาจะหมดอายุ - 'ไม่พบ': ไม่พบเอกสารที่ร้องขอบางอย่าง - 'มีอยู่แล้ว': เอกสารบางฉบับที่เราพยายามสร้างมีอยู่แล้ว - 'การอนุญาตเบ็นเดอร์': ผู้โทรไม่ได้รับอนุญาตให้ดำเนินการดำเนินการที่ระบุ -'ทรัพยากร-หมด': ทรัพยากรบางอย่างหมดลงบางทีอาจเป็นโควต้าต่อผู้ใช้หรือบางทีระบบไฟล์ทั้งหมดอยู่นอกอวกาศ - 'ความล้มเหลว- เงื่อนไข': การดำเนินการถูกปฏิเสธเนื่องจากระบบไม่ได้อยู่ในสถานะที่จำเป็นสำหรับการดำเนินการของการดำเนินการ - 'ยกเลิก': การดำเนินการถูกยกเลิกโดยทั่วไปเนื่องจากปัญหาพร้อมกันเช่นการทำธุรกรรม ฯลฯ- 'นอกช่วง': การดำเนินการถูกพยายามผ่านช่วงที่ถูกต้อง - 'Unimplemented': การดำเนินการไม่ได้ใช้งานหรือไม่รองรับ/เปิดใช้งาน - 'ภายใน': ข้อผิดพลาดภายใน หมายถึงค่าคงที่บางอย่างที่คาดหวังโดยระบบพื้นฐานได้ถูกทำลาย หากคุณเห็นข้อผิดพลาดอย่างใดอย่างหนึ่งเหล่านี้มีบางอย่างเสียมาก - 'ไม่พร้อมใช้งาน': บริการไม่พร้อมใช้งานในขณะนี้ นี่น่าจะเป็นเงื่อนไขชั่วคราวและอาจได้รับการแก้ไขโดยการลองใหม่ด้วย backoff - 'การสูญเสียข้อมูล': การสูญเสียข้อมูลที่ไม่สามารถกู้คืนได้หรือการทุจริต - 'ไม่ได้รับการรับรอง': คำขอไม่มีข้อมูลรับรองการรับรองความถูกต้องที่ถูกต้องสำหรับการดำเนินการ

ลายเซ็น:

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';

nestedupdatefields

สำหรับแต่ละฟิลด์ (เช่น '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]>;

OrderByDirection

ทิศทางของข้อ สั่งซื้อ () ระบุว่าเป็น 'desc' หรือ 'asc' (ลงหรือจากน้อยไปมาก)

ลายเซ็น:

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

บางส่วน withfieldValue

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

ลายเซ็น:

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

ดึกดำบรรพ์

ประเภทดั้งเดิม

ลายเซ็น:

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

QueryConstraintType

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

ลายเซ็น:

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

QueryFilterConstraint

QueryFilterConstraint เป็นประเภทผู้ช่วยสหภาพที่แสดงถึง QueryfieldFilterConstraint และ QueryCompositeFilterConstraint .

ลายเซ็น:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

queryNonFilterConstraint

QueryNonFilterConstraint เป็นประเภทสหภาพผู้ช่วยที่แสดงถึงการสคริสต์คอนสตอร์ซึ่งใช้เพื่อแคบหรือสั่งชุดเอกสาร แต่ไม่ได้กรองอย่างชัดเจนในฟิลด์เอกสาร QueryNonFilterConstraint S ถูกสร้างขึ้นโดยการเรียกใช้ orderby () , เริ่มต้นที่() , startfter () , endbefore () , endat () , Limit () หรือ Limittolast () และสามารถส่งผ่านไปยัง Query () เพื่อสร้างอินสแตนซ์การสืบค้นใหม่ที่มี QueryConstraint .

ลายเซ็น:

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

setoptions

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

ลายเซ็น:

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

Uniontointersection

ได้รับประเภทสหภาพ 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-ytype--tersection -พิมพ์

ลายเซ็น:

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

อัปเดต

อัปเดตข้อมูล (สำหรับใช้กับ UpdatedOc () ) ที่ประกอบด้วยเส้นทางสนาม (เช่น 'foo' หรือ 'foo.baz') แมปกับค่า ฟิลด์ที่มี DOTS อ้างอิงฟิลด์ซ้อนกันภายในเอกสาร FieldValues can be passed in as property values.

ลายเซ็น:

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

WhereFilterOp

Filter conditions in a where() clause are specified using the strings '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains', 'in', 'array-contains-any', and 'not-in'.

ลายเซ็น:

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

WithFieldValue

Allows FieldValues to be passed in as a property value while maintaining type safety.

ลายเซ็น:

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