ประเภทข้อมูลที่รองรับ

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

ชนิดข้อมูล

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

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

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

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

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

ตัวอย่างเช่น [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
จุดทางภูมิศาสตร์ ตามละติจูด แล้วก็ลองจิจูด ในขณะนี้ เราไม่แนะนำให้ใช้ข้อมูลประเภทนี้เนื่องจากข้อจำกัดในการค้นหา โดยทั่วไป จะดีกว่าถ้าเก็บละติจูดและลองจิจูดเป็นช่องตัวเลขแยกกัน หากแอปของคุณต้องการ geoquery ตามระยะทางอย่างง่าย โปรดดู Geo Queries
จำนวนเต็ม ตัวเลข 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"}

โมฆะ ไม่มี
อ้างอิง ตามองค์ประกอบเส้นทาง (คอลเลกชัน 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 จะใช้การเรียงลำดับแบบกำหนดตามการแทนค่าภายใน รายการต่อไปนี้แสดงลำดับ:

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