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