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