ฟังก์ชั่น
การทำงาน | คำอธิบาย |
---|---|
ฟังก์ชั่น(แอพ, ...) | |
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() ถูกระบุโดยใช้สตริง '<', '<=', '==', '!=', '>=', '>', '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;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
เปลวไฟ | เปลวไฟ |
ผลตอบแทน:
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;
ผลตอบแทน:
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 ที่สร้างขึ้น .
โดยที่ (FieldPath, Opstr, ค่า)
สร้าง queryfieldfilterconstraint ที่บังคับใช้เอกสารว่าต้องมีฟิลด์ที่ระบุและค่าควรเป็นไปตามข้อ จำกัด ด้านความสัมพันธ์ที่มีให้
ลายเซ็น:
export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
สนามบิน | สตริง | FieldPath | เส้นทางที่จะเปรียบเทียบ |
OPSTR | Wherefilterop | สตริงการดำเนินการ (เช่น "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =") |
ค่า | ไม่ทราบ | ค่าสำหรับการเปรียบเทียบ |
ผลตอบแทน:
queryfieldfilterconstraint ที่สร้างขึ้น .
ฟังก์ชั่น (FieldValues, ... )
Endat (FieldValues)
สร้าง queryendatconstraint ที่ปรับเปลี่ยนผลลัพธ์ที่กำหนดให้สิ้นสุดที่ฟิลด์ที่ให้ไว้เมื่อเทียบกับคำสั่งของแบบสอบถาม ลำดับของค่าฟิลด์จะต้องตรงกับคำสั่งของคำสั่งซื้อตามคำสั่งของแบบสอบถาม
ลายเซ็น:
export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
ค่าฟิลด์ | ไม่ทราบ [] | ค่าฟิลด์จะสิ้นสุดการสืบค้นนี้ที่ตามลำดับของคำสั่งของแบบสอบถามโดย |
ผลตอบแทน:
queryendatconstraint เพื่อส่งผ่านไปยัง query()
Endefore (FieldValues)
สร้าง queryendatconstraint ที่ปรับเปลี่ยนผลลัพธ์ที่กำหนดให้สิ้นสุดก่อนที่ฟิลด์ที่ให้ไว้เมื่อเทียบกับคำสั่งของแบบสอบถาม ลำดับของค่าฟิลด์จะต้องตรงกับคำสั่งของคำสั่งซื้อตามคำสั่งของแบบสอบถาม
ลายเซ็น:
export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
ค่าฟิลด์ | ไม่ทราบ [] | ค่าฟิลด์จะสิ้นสุดแบบสอบถามนี้ก่อนหน้านี้ตามคำสั่งของแบบสอบถามโดย |
ผลตอบแทน:
queryendatconstraint เพื่อส่งผ่านไปยัง query()
เริ่มต้น (FieldValues)
สร้าง QueryStartAtConstraint ที่ปรับเปลี่ยนผลลัพธ์ที่ตั้งไว้เพื่อเริ่มต้นหลังจากฟิลด์ที่ให้ไว้เมื่อเทียบกับคำสั่งของแบบสอบถาม ลำดับของค่าฟิลด์จะต้องตรงกับคำสั่งของคำสั่งซื้อตามคำสั่งของแบบสอบถาม
ลายเซ็น:
export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
ค่าฟิลด์ | ไม่ทราบ [] | ค่าฟิลด์เริ่มต้นแบบสอบถามนี้หลังจากนั้นตามลำดับของคำสั่งของแบบสอบถามโดย |
ผลตอบแทน:
querystartatconstraint เพื่อส่งผ่านไปยัง query()
startat (FieldValues)
สร้าง querystartatconstraint ที่ปรับเปลี่ยนผลลัพธ์ที่ตั้งไว้เพื่อเริ่มต้นที่ฟิลด์ที่ให้ไว้เมื่อเทียบกับลำดับของการสืบค้น ลำดับของค่าฟิลด์จะต้องตรงกับคำสั่งของคำสั่งซื้อตามคำสั่งของแบบสอบถาม
ลายเซ็น:
export declare function startAt(...fieldValues: unknown[]): 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 ที่สร้างขึ้น .
จำกัดToLast(จำกัด)
สร้าง QueryLimitConstraint ที่ส่งคืนเอกสารการจับคู่สุดท้ายเท่านั้น
คุณต้องระบุประโยค orderBy
อย่างน้อยหนึ่งข้อสำหรับการสืบค้น limitToLast
มิฉะนั้นจะมีข้อยกเว้นในระหว่างการดำเนินการ
ลายเซ็น:
export declare function limitToLast(limit: number): QueryLimitConstraint;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
ขีด จำกัด | ตัวเลข | จำนวนรายการสูงสุดที่จะส่งคืน |
ผลตอบแทน:
queryLimitConstraint ที่สร้างขึ้น .
ฟังก์ชั่น (loglevel, ... )
Setloglevel (loglevel)
ตั้งค่าคำย่ำแย่ของบันทึก Firestore คลาวด์ (การดีบักข้อผิดพลาดหรือเงียบ)
ลายเซ็น:
export declare function setLogLevel(logLevel: LogLevel): void;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
เล็ง | เล็ง | คำกริยาที่คุณตั้งไว้สำหรับกิจกรรมและการบันทึกข้อผิดพลาด สามารถเป็นค่าใด ๆ ต่อไปนี้:
|
ผลตอบแทน:
เป็นโมฆะ
ฟังก์ชั่น (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 เพื่อส่งผ่านไปยัง query()
endbefore (snapshot)
สร้าง queryendatconstraint ที่ปรับเปลี่ยนผลลัพธ์ที่กำหนดให้สิ้นสุดก่อนที่เอกสารที่ให้ไว้ (พิเศษ) ตำแหน่งสิ้นสุดนั้นสัมพันธ์กับคำสั่งของแบบสอบถาม เอกสารจะต้องมีฟิลด์ทั้งหมดที่ให้ไว้ในการสั่งซื้อของแบบสอบถาม
ลายเซ็น:
export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;
พารามิเตอร์
พารามิเตอร์ | พิมพ์ | คำอธิบาย |
---|---|---|
ภาพรวม | DocumentsNapShot <AppModeltype, dbmodeltype> | ภาพรวมของเอกสารที่จะสิ้นสุดก่อน |
ผลตอบแทน:
queryendatconstraint เพื่อส่งผ่านไปยัง query()
startfter (snapshot)
สร้าง QueryStartAtConstraint ที่ปรับเปลี่ยนผลลัพธ์ที่ตั้งไว้เพื่อเริ่มต้นหลังจากเอกสารที่ให้ไว้ (พิเศษ) ตำแหน่งเริ่มต้นนั้นสัมพันธ์กับคำสั่งของแบบสอบถาม เอกสารจะต้องมีฟิลด์ทั้งหมดที่ให้ไว้ในการสั่งซื้อของแบบสอบถาม
ลายเซ็น:
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()
.
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 '<', '<=', '==', '!=', '>=', '>', '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);