หน้านี้จะอธิบายประเภทข้อมูลที่ Cloud Firestore รองรับ
ประเภทข้อมูล
ตารางต่อไปนี้แสดงประเภทข้อมูลที่ Cloud Firestore รองรับ ทั้งนี้ ยังอธิบายลำดับการจัดเรียงที่ใช้เปรียบเทียบค่าของประเภทเดียวกันด้วย ดังนี้
ประเภทข้อมูล | ลำดับการจัดเรียง | หมายเหตุ |
---|---|---|
อาร์เรย์ | ตามค่าองค์ประกอบ |
อาร์เรย์ต้องไม่มีค่าอาร์เรย์อื่นเป็นองค์ประกอบหนึ่ง ภายในอาร์เรย์ องค์ประกอบจะรักษาตำแหน่งที่กำหนดไว้ให้ เมื่อจัดเรียงอาร์เรย์ 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 รายการ
- ค่าจุดทางภูมิศาสตร์
- ค่าอาร์เรย์
- การฝังเวกเตอร์
- จับคู่ค่า