ชนิดข้อมูลที่สนับสนุน

หน้านี้อธิบายประเภทข้อมูลที่ Cloud Firestore รองรับ

ประเภทข้อมูล

ตารางต่อไปนี้แสดงรายการประเภทข้อมูลที่ Cloud Firestore รองรับ นอกจากนี้ยังอธิบายลำดับการจัดเรียงที่ใช้ในการเปรียบเทียบค่าประเภทเดียวกัน:

ประเภทข้อมูล เรียงลำดับ หมายเหตุ
อาร์เรย์ ตามค่าองค์ประกอบ

อาร์เรย์ไม่สามารถมีค่าอาร์เรย์อื่นเป็นหนึ่งในองค์ประกอบได้

ภายในอาร์เรย์ องค์ประกอบจะรักษาตำแหน่งที่ได้รับมอบหมายไว้ เมื่อเรียงลำดับอาร์เรย์ตั้งแต่สองตัวขึ้นไป อาร์เรย์จะถูกเรียงลำดับตามค่าองค์ประกอบ

เมื่อเปรียบเทียบสองอาร์เรย์ จะมีการเปรียบเทียบองค์ประกอบแรกของแต่ละอาร์เรย์ หากองค์ประกอบแรกเท่ากัน องค์ประกอบที่สองจะถูกเปรียบเทียบไปเรื่อยๆ จนกว่าจะพบความแตกต่าง ถ้าอาร์เรย์ไม่มีองค์ประกอบที่จะเปรียบเทียบแต่เท่ากับจุดนั้น อาร์เรย์ที่สั้นกว่าจะถูกเรียงลำดับก่อนอาร์เรย์ที่ยาวกว่า

ตัวอย่างเช่น [1, 2, 3] < [1, 2, 3, 1] < [2] อาร์เรย์ [2] มีค่าองค์ประกอบแรกที่ยิ่งใหญ่ที่สุด อาร์เรย์ [1, 2, 3] มีองค์ประกอบเท่ากับสามองค์ประกอบแรกของ [1, 2, 3, 1] แต่มีความยาวสั้นกว่า

บูลีน false < true
ไบต์ ลำดับไบต์ มากถึง 1,048,487 ไบต์ (1 MiB - 89 ไบต์) เฉพาะ 1,500 ไบต์แรกเท่านั้นที่จะได้รับการพิจารณาโดยแบบสอบถาม
วันและเวลา ตามลำดับเวลา เมื่อจัดเก็บไว้ใน Cloud Firestore จะมีความแม่นยำเพียงระดับไมโครวินาทีเท่านั้น ความแม่นยำเพิ่มเติมใดๆ จะถูกปัดเศษลง
จำนวนจุดลอยตัว ตัวเลข ความแม่นยำสองเท่า 64 บิต, IEEE 754
จุดทางภูมิศาสตร์ ตามละติจูดแล้วลองจิจูด ในขณะนี้เราไม่แนะนำให้ใช้ประเภทข้อมูลนี้เนื่องจากข้อจำกัดในการสืบค้น โดยทั่วไป การเก็บละติจูดและลองจิจูดเป็นช่องตัวเลขแยกกันจะดีกว่า หากแอปของคุณต้องการการค้นหาทางภูมิศาสตร์ตามระยะทางแบบง่าย โปรดดู การค้นหาทางภูมิศาสตร์
จำนวนเต็ม ตัวเลข 64 บิต เซ็นชื่อแล้ว
แผนที่ ตามคีย์แล้วตามด้วยค่า

แสดงถึงวัตถุที่ฝังอยู่ภายในเอกสาร เมื่อจัดทำดัชนีแล้ว คุณจะค้นหาข้อมูลในฟิลด์ย่อยได้ หากคุณยกเว้นค่านี้จากการจัดทำดัชนี ฟิลด์ย่อยทั้งหมดจะถูกแยกออกจากการทำดัชนีด้วย

การเรียงลำดับคีย์จะถูกจัดเรียงเสมอ ตัวอย่างเช่น หากคุณเขียน {c: "foo", a: "bar", b: "qux"} แผนที่จะถูกจัดเรียงตามคีย์และบันทึกเป็น {a: "bar", b: "qux", c: "foo"} .

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

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

น่าน ไม่มี
โมฆะ ไม่มี
อ้างอิง ตามองค์ประกอบเส้นทาง (คอลเลกชัน, รหัสเอกสาร, คอลเลกชัน, รหัสเอกสาร...) ตัวอย่างเช่น projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH]
สตริงข้อความ ลำดับไบต์ที่เข้ารหัส UTF-8 มากถึง 1,048,487 ไบต์ (1 MiB - 89 ไบต์) เฉพาะ 1,500 ไบต์แรกของการแสดง UTF-8 เท่านั้นที่จะพิจารณาโดยแบบสอบถาม

การสั่งซื้อประเภทมูลค่า

เมื่อการสืบค้นเกี่ยวข้องกับฟิลด์ที่มีค่าประเภทผสม Cloud Firestore จะใช้การเรียงลำดับที่กำหนดตามการแสดงภายใน รายการต่อไปนี้แสดงลำดับ:

  1. ค่าว่าง
  2. ค่าบูลีน
  3. ค่าน่าน
  4. ค่าจำนวนเต็มและจุดลอยตัว เรียงลำดับตามตัวเลข
  5. ค่าวันที่
  6. ค่าสตริงข้อความ
  7. ค่าไบต์
  8. ข้อมูลอ้างอิง Cloud Firestore
  9. ค่าจุดทางภูมิศาสตร์
  10. ค่าอาร์เรย์
  11. ค่าแผนที่