@firebase/firestore/lite

ฟังก์ชัน

ฟังก์ชัน คำอธิบาย
ฟังก์ชัน(แอป, ...)
getFirestore(แอป) แสดงผลอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ระบุ หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
getFirestore(แอป, รหัสฐานข้อมูล) (เบต้า) แสดงผลอินสแตนซ์ Firestore ที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp ที่ระบุ หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
initializeFirestore(แอป การตั้งค่า) เริ่มต้นอินสแตนซ์ใหม่ของ Cloud Firestore ด้วยการตั้งค่าที่มีให้ สามารถเรียกใช้ก่อนฟังก์ชันอื่นๆ เท่านั้น รวมถึง getFirestore() หากการตั้งค่าที่กำหนดเองว่างเปล่า ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ getFirestore()
initializeFirestore(แอป การตั้งค่า รหัสฐานข้อมูล) (เบต้า) เริ่มต้นอินสแตนซ์ใหม่ของ Cloud Firestore ด้วยการตั้งค่าที่มีให้ สามารถเรียกใช้ก่อนฟังก์ชันอื่นๆ เท่านั้น รวมถึง getFirestore() หากการตั้งค่าที่กำหนดเองว่างเปล่า ฟังก์ชันนี้เทียบเท่ากับการเรียกใช้ getFirestore()
function(firestore, ...)
collection(firestore, path, pathSegments) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันในเส้นทางสัมบูรณ์ที่ระบุ
collectionGroup(firestore, collectionsId) สร้างและแสดงผลอินสแตนซ์ Query ใหม่ที่มีเอกสารทั้งหมดในฐานข้อมูลที่มีในคอลเล็กชันหรือคอลเล็กชันย่อยที่มี collectionId ที่ระบุ
connectFirestoreEmulator(firestore, โฮสต์, พอร์ต, ตัวเลือก) แก้ไขอินสแตนซ์นี้เพื่อสื่อสารกับโปรแกรมจำลอง Cloud Firestoreหมายเหตุ: ต้องเรียกใช้อินสแตนซ์นี้ก่อนที่จะใช้อินสแตนซ์เพื่อดำเนินการใดๆ
doc(firestore, path, pathSegments) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารในเส้นทางสัมบูรณ์ที่ระบุ
runTransaction(firestore, updateFunction, ตัวเลือก) เรียกใช้ updateFunction ที่ระบุแล้วพยายามยืนยันการเปลี่ยนแปลงที่มีผลภายในธุรกรรม หากเอกสารที่อ่านในธุรกรรมมีการเปลี่ยนแปลง Cloud Firestore จะลอง updateFunction อีกครั้ง หากพยายามดำเนินการไม่สำเร็จครบ 5 ครั้งแล้ว ธุรกรรมจะไม่สำเร็จจำนวนการเขียนสูงสุดที่อนุญาตในธุรกรรม 1 ครั้งคือ 500 ครั้ง
หยุด(firestore) ยุติอินสแตนซ์ Firestore ที่ระบุหลังจากเรียกใช้ terminate() จะสามารถใช้ฟังก์ชัน clearIndexedDbPersistence() ได้เท่านั้น ฟังก์ชันอื่นๆ จะส่ง FirestoreError การสิ้นสุดจะไม่ยกเลิกการเขียนที่รอดำเนินการ และสัญญาใดๆ ที่กำลังรอการตอบกลับจากเซิร์ฟเวอร์จะไม่ได้รับการแก้ไขหากต้องการรีสตาร์ทหลังการสิ้นสุด ให้สร้างอินสแตนซ์ใหม่ของ Firestore ด้วย getFirestore()หมายเหตุ: ในกรณีปกติ คุณไม่จำเป็นต้องเรียกใช้ terminate() ฟังก์ชันนี้มีประโยชน์เฉพาะเมื่อคุณต้องการบังคับให้อินสแตนซ์นี้ปล่อยทรัพยากรทั้งหมดหรือใช้ร่วมกับ clearIndexedDbPersistence() เพื่อดูแลให้ระบบทำลายสถานะในเครื่องทั้งหมดระหว่างการทดสอบ
writeBatch(firestore) สร้างกลุ่มการเขียนที่ใช้สำหรับการเขียนหลายรายการเป็นการดำเนินการแบบอะตอมรายการเดียว จำนวนการเขียนสูงสุดที่อนุญาตใน WriteBatch เดียวคือ 500ผลของการเขียนเหล่านี้จะแสดงในการอ่านเอกสารที่เกิดขึ้นหลังจากการแก้ไขสัญญาที่ส่งกลับมาเท่านั้น หากไคลเอ็นต์ออฟไลน์อยู่ การเขียนจะล้มเหลว หากต้องการดูการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
function()
จำนวนนับ() สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณจำนวนเอกสารในชุดผลลัพธ์ของการค้นหา
deleteField() แสดงผลที่ส่งสำหรับใช้กับ updateDoc() หรือ setDoc() ด้วย {merge: true} เพื่อทำเครื่องหมายช่องสำหรับลบ
documentId() แสดงผลการแจ้งเตือนพิเศษ FieldPath เพื่ออ้างถึงรหัสของเอกสาร โดยสามารถใช้ในคำค้นหาเพื่อจัดเรียงหรือกรองตามรหัสเอกสาร
getFirestore() แสดงผลอินสแตนซ์ Firestore เริ่มต้นที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
serverTimestamp() แสดงผลเซนติเนลที่ใช้กับ setDoc() หรือ updateDoc() เพื่อรวมการประทับเวลาที่เซิร์ฟเวอร์สร้างขึ้นในข้อมูลที่เขียน
function(รหัสฐานข้อมูล, ...)
getFirestore(databaseId) (BETA) แสดงผลอินสแตนซ์ Firestore ที่มีอยู่ซึ่งเชื่อมโยงกับ FirebaseApp เริ่มต้น หากไม่มีอินสแตนซ์ ให้เริ่มต้นอินสแตนซ์ใหม่ด้วยการตั้งค่าเริ่มต้น
ฟังก์ชัน(องค์ประกอบ, ...)
arrayRemove(องค์ประกอบ) แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือที่บอกเซิร์ฟเวอร์ให้นำองค์ประกอบที่กำหนดออกจากค่าอาร์เรย์ใดๆ ที่มีอยู่ในเซิร์ฟเวอร์ ระบบจะนำอินสแตนซ์ทั้งหมดของแต่ละองค์ประกอบที่ระบุออกจากอาร์เรย์ หากฟิลด์ที่แก้ไขไม่ใช่อาร์เรย์อยู่แล้ว ฟิลด์ดังกล่าวจะถูกเขียนทับด้วยอาร์เรย์ที่ว่างเปล่า
arrayUnion(องค์ประกอบ) แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ซึ่งบอกเซิร์ฟเวอร์ให้รวมองค์ประกอบที่ระบุกับค่าอาร์เรย์ใดๆ ก็ตามที่มีอยู่ในเซิร์ฟเวอร์แล้ว แต่ละองค์ประกอบที่ระบุซึ่งไม่ได้มีอยู่ในอาร์เรย์จะเพิ่มต่อท้าย หากฟิลด์ที่แก้ไขไม่ใช่อาร์เรย์ ฟิลด์ดังกล่าวจะถูกเขียนทับด้วยอาร์เรย์ที่มีอีลิเมนต์ที่ระบุ
function(ฟิลด์, ...)
ค่าเฉลี่ย(ฟิลด์) สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณค่าเฉลี่ยของช่องที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของการค้นหา
sum(ฟิลด์) สร้างออบเจ็กต์ AggregateField ที่สามารถใช้ในการคำนวณผลรวมของช่องที่ระบุในช่วงของเอกสารในชุดผลลัพธ์ของการค้นหา
function(fieldPath, ...)
orderBy(fieldPath, pathStr) สร้าง QueryOrderByConstraint ที่จัดเรียงผลการค้นหาตามช่องที่ระบุ โดยสามารถเลือกเรียงลำดับจากมากไปน้อยแทนที่จะเรียงจากน้อยไปมากหมายเหตุ: เอกสารที่ไม่มีช่องที่ระบุจะไม่ปรากฏในผลการค้นหา
where(fieldPath, opStr, value) สร้าง QueryFieldFilterConstraint ที่บังคับให้เอกสารต้องมีช่องที่ระบุ และค่าควรเป็นไปตามข้อจำกัดความสัมพันธ์ที่ระบุ
function(fieldValues, ...)
endAt(fieldValues) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดในช่องที่ให้ไว้ซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
endbefore(fieldValues) สร้าง QueryEndAtConstraint ที่ปรับเปลี่ยนชุดผลลัพธ์ให้สิ้นสุดก่อนช่องที่ระบุซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
startAfter(fieldValues) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นหลังช่องที่ระบุไว้ซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
startAt(fieldValues) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นที่ช่องที่ระบุซึ่งสัมพันธ์กับลำดับของการค้นหา ลำดับของค่าช่องต้องตรงกับลำดับของค่าตามอนุประโยคในข้อความค้นหา
ฟังก์ชัน(ซ้าย, ...)
aggregateFieldEqual(ซ้าย ขวา) เปรียบเทียบอินสแตนซ์ "AggregateField" 2 รายการสำหรับความเท่าเทียมกัน
aggregateQuerySnapshotEqual(ซ้าย ขวา) เปรียบเทียบอินสแตนซ์ AggregateQuerySnapshot 2 อินสแตนซ์เพื่อความเท่ากันอินสแตนซ์ AggregateQuerySnapshot 2 อินสแตนซ์จะถือว่าเป็น "เท่ากัน" หากมีคำค้นหาพื้นฐานที่เปรียบเทียบเท่ากันและข้อมูลเดียวกัน
queryEqual(ซ้าย ขวา) แสดงผลเป็น "จริง" หากคำค้นหาที่ระบุชี้ไปยังคอลเล็กชันเดียวกันและใช้ข้อจำกัดเดียวกัน
refEqual(ซ้าย ขวา) แสดงค่า "จริง" หากการอ้างอิงที่ระบุเท่ากัน
snapshotEqual(ซ้าย ขวา) แสดงค่า "จริง" หากสแนปชอตที่ระบุเท่ากัน
function(ขีดจำกัด, ...)
ขีดจำกัด(ขีดจำกัด) สร้าง QueryLimitConstraint ที่แสดงเอกสารที่ตรงกันรายการแรกเท่านั้น
limitToLast(ขีดจำกัด) สร้าง QueryLimitConstraint ที่จะแสดงผลเอกสารที่ตรงกันล่าสุดเท่านั้นคุณต้องระบุ orderBy อย่างน้อย 1 วลีสำหรับการค้นหา limitToLast มิเช่นนั้นจะมีข้อยกเว้นระหว่างการดำเนินการ
function(logLevel, ...)
setLogLevel(logLevel) ตั้งค่าการพูดรายละเอียดของบันทึก Cloud Firestore (แก้ไขข้อบกพร่อง ข้อผิดพลาด หรือปิดเสียง)
function(n, ...)
เพิ่มขึ้น(n) แสดงผลค่าพิเศษที่สามารถใช้กับ setDoc() หรือ updateDoc() ที่บอกเซิร์ฟเวอร์ให้เพิ่มค่าปัจจุบันของช่องด้วยค่าที่ระบุหากตัวถูกดำเนินการหรือค่าในช่องปัจจุบันใช้ความแม่นยำของจุดลอยตัว เลขคณิตทั้งหมดจะเป็นไปตามความหมาย IEEE 754 หากทั้ง 2 ค่าเป็นจำนวนเต็ม ค่าที่อยู่นอกช่วงตัวเลขที่ปลอดภัยของ JavaScript (Number.MIN_SAFE_INTEGER ถึง Number.MAX_SAFE_INTEGER) จะสูญเสียความแม่นยำด้วย นอกจากนี้ เมื่อประมวลผลโดยแบ็กเอนด์ของ Firestore การดำเนินการจำนวนเต็มทั้งหมดจะจำกัดอยู่ที่ -2^63 และ 2^63-1หากค่าของช่องปัจจุบันไม่ใช่ประเภท number หรือหากยังไม่มีช่องนี้ การเปลี่ยนรูปแบบจะกำหนดช่องเป็นค่าที่ระบุ
ฟังก์ชั่น(ข้อความค้นหา, ...)
getAggregate(ข้อความค้นหา, AggregateSpec) คำนวณการรวมที่ระบุในเอกสารในชุดผลลัพธ์ของคำค้นหาที่กำหนดโดยไม่ต้องดาวน์โหลดเอกสารจริงการใช้ฟังก์ชันนี้เพื่อดำเนินการรวมมีประสิทธิภาพเนื่องจากมีเพียงค่าการรวมสุดท้ายเท่านั้น ไม่ใช่เอกสาร ที่มีการดาวน์โหลดข้อมูล ฟังก์ชันนี้ทำการรวมเอกสารได้ในกรณีที่ชุดผลลัพธ์มีขนาดใหญ่มากจนดาวน์โหลดไม่ได้ (เอกสารหลายพันรายการ)
getCount(คำค้นหา) คำนวณจำนวนเอกสารในชุดผลลัพธ์ของข้อความค้นหาที่ระบุโดยไม่ต้องดาวน์โหลดเอกสารจริงการใช้ฟังก์ชันนี้เพื่อนับเอกสารนั้นมีประสิทธิภาพเนื่องจากจำนวนสุดท้ายเท่านั้น ไม่ใช่จำนวนเอกสาร มีการดาวน์โหลดข้อมูล ฟังก์ชันนี้สามารถนับเอกสารได้ในกรณีที่ชุดผลลัพธ์มีขนาดใหญ่มากจนไม่สามารถดาวน์โหลดได้ทั้งหมด (เอกสารหลายพันรายการ)
getDocuments(คำค้นหา) ดำเนินการค้นหาและแสดงผลลัพธ์เป็น QuerySnapshot.การค้นหาทั้งหมดจะดำเนินการโดยตรงโดยเซิร์ฟเวอร์ แม้ว่าการค้นหานั้นเคยดำเนินการไปแล้วก่อนหน้านี้ก็ตาม การแก้ไขล่าสุดจะแสดงในผลลัพธ์ที่ดึงมาก็ต่อเมื่อแบ็กเอนด์ใช้การเปลี่ยนแปลงเหล่านั้นแล้วเท่านั้น หากไคลเอ็นต์ออฟไลน์อยู่ การดำเนินการจะล้มเหลว หากต้องการดูผลลัพธ์ที่แคชไว้และการแก้ไขในเครื่องก่อนหน้านี้ ให้ใช้ Firestore SDK แบบเต็ม
query(query, CompositFilter, queryConstraints) สร้างอินสแตนซ์ใหม่ของ Query ที่เปลี่ยนแปลงไม่ได้ซึ่งจะขยายเพื่อรวมข้อจำกัดการค้นหาเพิ่มเติมด้วย
query(query, queryConstraints) สร้างอินสแตนซ์ใหม่ของ Query ที่เปลี่ยนแปลงไม่ได้ซึ่งจะขยายเพื่อรวมข้อจำกัดการค้นหาเพิ่มเติมด้วย
function(queryConstraints, ...)
และ(queryConstraints) สร้าง QueryCompositeFilterConstraint ใหม่ที่เป็นการผสมผสานของข้อจำกัดตัวกรองที่ระบุ ตัวกรองร่วมจะมีเอกสารหากตรงกับตัวกรองทั้งหมดที่ระบุ
หรือ(queryConstraints) สร้าง QueryCompositeFilterConstraint ใหม่ซึ่งเป็นการแยกส่วนข้อจำกัดตัวกรองที่ระบุ ตัวกรองการแยกประกอบด้วยเอกสารหากตรงกับตัวกรองที่ระบุ
ฟังก์ชัน(การอ้างอิง, ...)
addDoc(ข้อมูลอ้างอิง ข้อมูล) เพิ่มเอกสารใหม่ใน CollectionReference ที่ระบุด้วยข้อมูลที่ระบุ ซึ่งจะกำหนดรหัสเอกสารโดยอัตโนมัติผลลัพธ์ของการเขียนนี้จะปรากฏในการอ่านเอกสารที่เกิดขึ้นหลังจากแก้ไขสัญญาที่ส่งคืนแล้วเท่านั้น หากไคลเอ็นต์ออฟไลน์อยู่ การเขียนจะล้มเหลว หากต้องการดูการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
collection(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันย่อยของ reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ
collection(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ CollectionReference ที่อ้างถึงคอลเล็กชันย่อยของ reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ
deleteDoc(การอ้างอิง) ลบเอกสารที่ DocumentReference ที่ระบุอ้างถึงการลบจะแสดงให้เห็นในการอ่านเอกสารที่เกิดขึ้นหลังจากแก้ไขปัญหาสัญญาที่แสดงผลแล้วเท่านั้น หากไคลเอ็นต์ออฟไลน์อยู่ การลบจะไม่สำเร็จ หากต้องการดูการแก้ไขในเครื่องหรือการเขียนบัฟเฟอร์จนกว่าไคลเอ็นต์จะออนไลน์ ให้ใช้ Firestore SDK แบบเต็ม
เอกสาร(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ DocumentReference ที่อ้างถึงเอกสารภายใน reference ที่เส้นทางแบบสัมพัทธ์ที่ระบุ หากไม่ได้ระบุเส้นทาง ระบบจะใช้รหัสที่ไม่ซ้ำกันที่สร้างขึ้นโดยอัตโนมัติสำหรับ DocumentReference ที่แสดงผล
เอกสาร(ข้อมูลอ้างอิง เส้นทาง กลุ่มเส้นทาง) รับอินสแตนซ์ 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 แบบเต็ม
ฟังก์ชัน(สแนปชอต, ...)
endAt(snapshot) สร้าง QueryEndAtConstraint ที่แก้ไขชุดผลลัพธ์ให้สิ้นสุดที่เอกสารที่ระบุ (รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของการค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา
endbefore(snapshot) สร้าง QueryEndAtConstraint ที่แก้ไขผลลัพธ์ที่กำหนดให้สิ้นสุดก่อนเอกสารที่ระบุ (ไม่รวม) ตำแหน่งสิ้นสุดจะสัมพันธ์กับลำดับของการค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา
startAfter(สแนปชอต) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นหลังจากเอกสารที่ระบุ (ไม่รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของคำค้นหา เอกสารต้องมีช่องทั้งหมดที่ให้ไว้ใน orderBy ของการค้นหา
startAt(snapshot) สร้าง QueryStartAtConstraint ที่แก้ไขชุดผลลัพธ์ให้เริ่มต้นที่เอกสารที่ระบุ (รวม) ตำแหน่งเริ่มต้นจะสัมพันธ์กับลำดับของคำค้นหา เอกสารต้องมีช่องทั้งหมดที่ระบุไว้ใน orderBy ของการค้นหานี้
ฟังก์ชัน(ค่า, ...)
เวกเตอร์(ค่า) สร้าง VectorValue ใหม่ที่สร้างขึ้นด้วยสำเนาของอาร์เรย์ตัวเลขที่ระบุ

ชั้นเรียน

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

อินเทอร์เฟซ

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

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

getFirestore(แอป)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Firestore

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Firestore

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

defaultizeFirestore(แอป การตั้งค่า)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Firestore

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Firestore

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

CollectionReference<DocumentData, DocumentData>

อินสแตนซ์ CollectionReference

ข้อยกเว้น

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

CollectionGroup(firestore, collectionsId)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

เป็นโมฆะ

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

สัญญา<T>

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

สิ้นสุด(firestore)

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

WriteBatch(firestore)

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

WriteBatch

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

ฟังก์ชัน()

จำนวน()

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

ลายเซ็น:

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

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

AggregateField<number>

deleteField()

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

ลายเซ็น:

export declare function deleteField(): FieldValue;

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

ค่าฟิลด์

documentId()

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

ลายเซ็น:

export declare function documentId(): FieldPath;

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

FieldPath

getFirestore()

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

ลายเซ็น:

export declare function getFirestore(): Firestore;

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

Firestore

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

ServerTimestamp()

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

ลายเซ็น:

export declare function serverTimestamp(): FieldValue;

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

ค่าฟิลด์

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

Firestore

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ค่าฟิลด์

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ค่าฟิลด์

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

sum(ฟิลด์)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

AggregateField<number>

function(fieldPath, ...)

orderBy(fieldPath, pathStr)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

QueryOrderByConstraint

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

where(fieldPath, opStr, value)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

QueryFieldFilterConstraint

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

Functions(fieldValues, ...)

endAt(ค่าฟิลด์)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

endbefore(fieldValues)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

StartAfter(fieldValues)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

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

totalFieldEqual(ซ้าย ขวา)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

boolean

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

boolean

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

queryEqual(ซ้าย ขวา)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

boolean

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

refEqual(ซ้าย ขวา)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

boolean

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

SnapshotEqual(ซ้าย, ขวา)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

boolean

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

QueryLimitConstraint

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

QueryLimitConstraint

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

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

setLogLevel(logLevel)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

เป็นโมฆะ

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ค่าฟิลด์

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

ตัวอย่าง

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

พารามิเตอร์

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

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

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

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

getDocuments(คำค้นหา)

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

query(query, CompositFilter, queryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

ข้อยกเว้น

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

query(query, queryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

ข้อยกเว้น

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

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

และ(queryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

QueryCompositeFilterConstraint

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

หรือ(queryConstraints)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

QueryCompositeFilterConstraint

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

ข้อยกเว้น

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

CollectionReference<DocumentData, DocumentData>

อินสแตนซ์ CollectionReference

ข้อยกเว้น

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

CollectionReference<DocumentData, DocumentData>

อินสแตนซ์ CollectionReference

ข้อยกเว้น

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

Promise จะได้รับการแก้ไขเมื่อลบเอกสารออกจากแบ็กเอนด์เรียบร้อยแล้ว

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

DocumentReference<AppModelType, DbModelType>

อินสแตนซ์ DocumentReference

ข้อยกเว้น

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

DocumentReference<DocumentData, DocumentData>

อินสแตนซ์ DocumentReference

ข้อยกเว้น

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

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

อ่านเอกสารที่มีการอ้างอิงเอกสารที่ระบุ

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

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

เขียนในเอกสารอ้างอิงโดย DocumentReference ที่ระบุ ระบบจะสร้างเอกสารหากยังไม่มี

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

ลายเซ็น:

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

พารามิเตอร์

พารามิเตอร์ ประเภท คำอธิบาย
การอ้างอิง DocumentReference<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>;

พารามิเตอร์

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

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

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

Promise จะได้รับการแก้ไขเมื่อเขียนข้อมูลลงในแบ็กเอนด์เรียบร้อยแล้ว

ข้อยกเว้น

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

Promise จะได้รับการแก้ไขเมื่อเขียนข้อมูลลงในแบ็กเอนด์เรียบร้อยแล้ว

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ระบุเป็นข้อมูล Firestore ที่ไม่ถูกต้อง

อัปเดตDoc(การอ้างอิง, ฟิลด์, ค่า, 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>;

พารามิเตอร์

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

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

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

Promise จะได้รับการแก้ไขเมื่อเขียนข้อมูลลงในแบ็กเอนด์เรียบร้อยแล้ว

ข้อยกเว้น

ข้อผิดพลาด - หากอินพุตที่ระบุเป็นข้อมูล Firestore ที่ไม่ถูกต้อง

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

StartAfter(สแนปชอต)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

StartAt(snapshot)

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

ลายเซ็น:

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

พารามิเตอร์

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

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

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

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

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

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

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

ลายเซ็น:

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

พารามิเตอร์

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

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

ค่าเวกเตอร์

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

AddPrefixToKey

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

ลายเซ็น:

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

AggregateFieldType

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

ลายเซ็น:

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

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

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

ลายเซ็น:

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

AggregateType

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

ลายเซ็น:

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

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

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

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

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

ลายเซ็น:

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

FirestoreErrorCode

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

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

ลายเซ็น:

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

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

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

ลายเซ็น:

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

คำสั่งByDirection

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

ลายเซ็น:

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

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

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

ลายเซ็น:

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

แบบพื้นฐาน

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

ลายเซ็น:

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

QueryConstraintType

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

ลายเซ็น:

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

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

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

ลายเซ็น:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

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

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

ลายเซ็น:

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

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

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

ลายเซ็น:

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

ทางแยกไป

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

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

ลายเซ็น:

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

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

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

ลายเซ็น:

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

ตำแหน่งFilterOp

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

ลายเซ็น:

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

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

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

ลายเซ็น:

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