หน้านี้อธิบายประเภทข้อมูลที่ Cloud Firestore รองรับ
ประเภทข้อมูล
ตารางต่อไปนี้แสดงประเภทข้อมูลที่ Cloud Firestore รองรับ และยังอธิบายลำดับการจัดเรียงที่ใช้เมื่อเปรียบเทียบค่าของเนื้อหาประเภทเดียวกัน
ประเภทข้อมูล | ลำดับการจัดเรียง | หมายเหตุ |
---|---|---|
อาร์เรย์ | ตามค่าองค์ประกอบ |
อาร์เรย์ต้องไม่มีค่าอาร์เรย์อื่นเป็นองค์ประกอบ ภายในอาร์เรย์ องค์ประกอบจะรักษาตําแหน่งที่กำหนดไว้ เมื่อจัดเรียงอาร์เรย์ 2 รายการขึ้นไป ระบบจะเรียงลำดับอาร์เรย์ตามค่าขององค์ประกอบ
เมื่อเปรียบเทียบอาร์เรย์ 2 รายการ ระบบจะเปรียบเทียบองค์ประกอบแรกของอาร์เรย์แต่ละรายการ หากองค์ประกอบแรกเท่ากัน ระบบจะเปรียบเทียบองค์ประกอบที่ 2 ไปเรื่อยๆ จนกว่าจะพบความแตกต่าง หากอาร์เรย์ไม่มีองค์ประกอบที่จะเปรียบเทียบ แต่เท่ากันจนถึงจุดนั้น ระบบจะจัดเรียงอาร์เรย์ที่สั้นกว่าก่อนอาร์เรย์ที่ยาวขึ้น เช่น |
บูลีน | false < true |
— |
ไบต์ | ลำดับไบต์ | สูงสุด 1,048,487 ไบต์ (1 MiB - 89 ไบต์) การค้นหาจะพิจารณาเฉพาะ 1,500 ไบต์แรกเท่านั้น |
วันที่และเวลา | ตามลำดับเวลา | เมื่อจัดเก็บใน Cloud Firestore จะมีความแม่นยำถึงไมโครวินาทีเท่านั้น ระบบจะปัดเศษความแม่นยำเพิ่มเติมลง |
จํานวนจุดลอยตัว | ตัวเลข | ความแม่นยำสองเท่า 64 บิต IEEE 754 |
จุดทางภูมิศาสตร์ | ตามละติจูด แล้วตามด้วยลองจิจูด | ขณะนี้เราไม่แนะนําให้ใช้ประเภทข้อมูลนี้เนื่องจากข้อจํากัดในการค้นหา โดยทั่วไป ควรจัดเก็บละติจูดและลองจิจูดเป็นฟิลด์ตัวเลขแยกกัน หากแอปของคุณต้องใช้การค้นหาเชิงพื้นที่ตามระยะทางแบบง่าย โปรดดูการค้นหาเชิงพื้นที่ |
จำนวนเต็ม | ตัวเลข | 64 บิต ลงนาม |
แผนที่ | ตามคีย์ แล้วตามค่า | แสดงออบเจ็กต์ที่ฝังอยู่ในเอกสาร เมื่อจัดทำดัชนีแล้ว คุณจะค้นหาในช่องย่อยได้ หากคุณยกเว้นค่านี้จากการจัดทำดัชนี ระบบก็จะยกเว้นช่องย่อยทั้งหมดจากการจัดทำดัชนีด้วย
คีย์จะจัดเรียงอยู่เสมอ ตัวอย่างเช่น หากคุณเขียน ช่องแมปจะจัดเรียงตามคีย์และเปรียบเทียบตามคู่คีย์-ค่า โดยเปรียบเทียบคีย์ก่อนแล้วตามด้วยค่า หากคู่คีย์-ค่าแรกเท่ากัน ระบบจะเปรียบเทียบคู่คีย์-ค่าถัดไป และดำเนินการต่อ หากแผนที่ 2 แผนที่มีคู่คีย์-ค่าเดียวกันทั้งหมด ระบบจะพิจารณาความยาวของแผนที่ ตัวอย่างเช่น แผนที่ต่อไปนี้จะเรียงตามลําดับจากน้อยไปมาก
|
NaN | ไม่มี | — |
Null | ไม่มี | — |
ข้อมูลอ้างอิง | ตามองค์ประกอบเส้นทาง (คอลเล็กชัน รหัสเอกสาร คอลเล็กชัน รหัสเอกสาร...) | ตัวอย่างเช่น projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] |
สตริงข้อความ | ลำดับไบต์ที่เข้ารหัส UTF-8 | สูงสุด 1,048,487 ไบต์ (1 MiB - 89 ไบต์) เฉพาะการค้นหา 1,500 ไบต์แรกของการแสดงแบบ UTF-8 เท่านั้น |
เวกเตอร์ | ตามมิติข้อมูล จากนั้นตามค่าขององค์ประกอบแต่ละรายการ | มิติข้อมูลการฝังสูงสุดที่รองรับคือ 2048 หากต้องการจัดเก็บเวกเตอร์ที่มีมิติข้อมูลขนาดใหญ่ขึ้น ให้ใช้การลดมิติข้อมูล |
การจัดเรียงประเภทค่า
เมื่อการค้นหามีช่องที่มีค่าผสม Cloud Firestore จะใช้ลำดับที่กำหนดโดยอิงตามตัวแทนภายใน รายการต่อไปนี้แสดงลําดับ
- ค่า Null
- ค่าบูลีน
- ค่า NaN
- ค่าจำนวนเต็มและค่าทศนิยมที่จัดเรียงตามลําดับตัวเลข
- ค่าวันที่
- ค่าสตริงข้อความ
- ค่าไบต์
- ข้อมูลอ้างอิง Cloud Firestore รายการ
- ค่าจุดทางภูมิศาสตร์
- ค่าอาร์เรย์
- การฝังเวกเตอร์
- จับคู่ค่า