Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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