Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Các loại dữ liệu được hỗ trợ

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Trang này mô tả các loại dữ liệu mà Cloud Firestore hỗ trợ.

Loại dữ liệu

Bảng sau liệt kê các loại dữ liệu được Cloud Firestore hỗ trợ. Nó cũng mô tả thứ tự sắp xếp được sử dụng khi so sánh các giá trị cùng loại:

Loại dữ liệu Thứ tự sắp xếp Ghi chú
Mảng Theo giá trị phần tử

Một mảng không thể chứa một giá trị mảng khác như một trong các phần tử của nó.

Trong một mảng, các phần tử duy trì vị trí được gán cho chúng. Khi sắp xếp hai hoặc nhiều mảng, các mảng được sắp xếp thứ tự dựa trên giá trị phần tử của chúng.

Khi so sánh hai mảng, các phần tử đầu tiên của mỗi mảng được so sánh. Nếu các phần tử đầu tiên bằng nhau, thì các phần tử thứ hai được so sánh và cứ tiếp tục như vậy cho đến khi tìm thấy sự khác biệt. Nếu một mảng hết phần tử cần so sánh nhưng bằng nhau cho đến thời điểm đó, thì mảng ngắn hơn được sắp xếp trước mảng dài hơn.

Ví dụ, [1, 2, 3] < [1, 2, 3, 1] < [2] . Mảng [2] có giá trị phần tử đầu tiên lớn nhất. Mảng [1, 2, 3] có các phần tử bằng ba phần tử đầu tiên của [1, 2, 3, 1] nhưng có độ dài ngắn hơn.

Boolean false < true -
Byte Byte đặt hàng Lên đến 1.048.487 byte (1 MiB - 89 byte). Chỉ 1.500 byte đầu tiên được xem xét bởi các truy vấn.
Ngày và giờ Theo niên đại Khi được lưu trữ trong Cloud Firestore, chính xác chỉ đến micro giây; bất kỳ độ chính xác bổ sung nào được làm tròn xuống.
Số điểm nổi Số Độ chính xác kép 64-bit, IEEE 754.
Điểm địa lý Theo vĩ độ, sau đó là kinh độ Tại thời điểm này, chúng tôi khuyên bạn không nên sử dụng kiểu dữ liệu này do các hạn chế về truy vấn. Nói chung tốt hơn là lưu trữ vĩ độ và kinh độ dưới dạng các trường số riêng biệt. Nếu ứng dụng của bạn cần các truy vấn địa lý đơn giản dựa trên khoảng cách, hãy xem Truy vấn địa lý
Số nguyên Số 64-bit, đã ký
Bản đồ Theo khóa, sau đó theo giá trị

Đại diện cho một đối tượng được nhúng trong tài liệu. Khi được lập chỉ mục, bạn có thể truy vấn trên các trường con. Nếu bạn loại trừ giá trị này khỏi lập chỉ mục, thì tất cả các trường con cũng bị loại trừ khỏi lập chỉ mục.

Thứ tự khóa luôn được sắp xếp. Ví dụ: nếu bạn viết {c: "foo", a: "bar", b: "qux"} thì bản đồ được sắp xếp theo khóa và được lưu dưới dạng {a: "bar", b: "qux", c: "foo"} .

Các trường bản đồ được sắp xếp theo khóa và so sánh theo cặp khóa-giá trị, trước tiên là so sánh các khóa và sau đó là giá trị. Nếu các cặp khóa-giá trị đầu tiên bằng nhau, các cặp khóa-giá trị tiếp theo sẽ được so sánh, v.v. Nếu hai bản đồ bắt đầu bằng các cặp khóa-giá trị giống nhau, thì độ dài bản đồ được xem xét. Ví dụ: các bản đồ sau theo thứ tự tăng dần:

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

Vô giá trị Không có -
Tài liệu tham khảo Theo các phần tử đường dẫn (bộ sưu tập, ID tài liệu, bộ sưu tập, ID tài liệu ...) Ví dụ: projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
Chuỗi văn bản Thứ tự byte được mã hóa UTF-8 Lên đến 1.048.487 byte (1 MiB - 89 byte). Chỉ 1.500 byte đầu tiên của biểu diễn UTF-8 mới được truy vấn xem xét.

Thứ tự loại giá trị

Khi truy vấn liên quan đến một trường có giá trị thuộc các loại hỗn hợp, Cloud Firestore sử dụng thứ tự xác định dựa trên các đại diện bên trong. Danh sách sau đây cho thấy thứ tự:

  1. Giá trị rỗng
  2. Giá trị boolean
  3. Giá trị số nguyên và dấu phẩy động, được sắp xếp theo thứ tự số
  4. Giá trị ngày tháng
  5. Giá trị chuỗi văn bản
  6. Giá trị byte
  7. Tham chiếu Cloud Firestore
  8. Giá trị điểm địa lý
  9. Giá trị mảng
  10. Giá trị bản đồ