Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

หน้านี้อธิบายประเภทข้อมูลที่ 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"}

โมฆะ ไม่มี
อ้างอิง ตามองค์ประกอบพาธ (คอลเล็กชัน 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. ค่า Null
  2. ค่าบูลีน
  3. ค่าจำนวนเต็มและทศนิยม เรียงตามลำดับตัวเลข
  4. ค่าวันที่
  5. ค่าสตริงข้อความ
  6. ค่าไบต์
  7. การอ้างอิง Cloud Firestore
  8. ค่าจุดทางภูมิศาสตร์
  9. ค่าอาร์เรย์
  10. ค่าแผนที่