1MB vượt quá firestore

Oct 17 2020

Tôi đang lưu trữ lịch sử chuyến đi (bản đồ mảng) trên firestore. ứng dụng bị lỗi (ứng dụng Flutter) khi cố gắng lưu trữ một bản đồ mảng lớn (độ dài mảng có thể lớn hơn 10.000). và cũng có hơn 30 trường trên cùng một tài liệu.

đây là bản đồ của tôi (danh sách bản đồ).

  Map<String, dynamic> toMap() => {
        "latitude": latitude,
        "longitude": longitude,
        "accuracy": accuracy,
        "altitude": altitude,
        "speed": speed,
        "speed_accuracy": speedAccuracy,
        "heading": heading,
        "time": time,
      };

Có giải pháp nào để lưu trữ loại mảng này trên firestore không?

Trả lời

1 DougStevenson Oct 16 2020 at 22:15

Không thể vượt quá kích thước tối đa của tài liệu trong Firestore.

Thay vào đó, những gì bạn nên làm là chia từng mục dữ liệu thành tài liệu riêng của nó, có thể là trong một bộ sưu tập con được lồng trong một tài liệu chính.

Harkal Oct 16 2020 at 22:48

Các tài liệu firestore có giới hạn lưu trữ trên 1MB không có nghĩa là nhà phát triển phải lấp đầy nó đến 1MB. Các tài liệu nặng hơn sẽ có những bất lợi sau:

  1. Trong mạng thấp, tài liệu sẽ không tải.
  2. Hầu như không có trường hợp người dùng cần truy cập nhiều dữ liệu như vậy. Mô hình dữ liệu đơn lẻ không thể đáp ứng tất cả các nhu cầu của một ứng dụng, vì vậy dữ liệu phải được chia thành nhiều mô hình dữ liệu.
  3. Sẽ có nhiều phí đầu ra hơn cho dữ liệu bổ sung được truy vấn.

Vì vậy, bạn phải lập mô hình cơ sở dữ liệu của mình để ghi nhớ những điều này. Như Doug đã đề cập, bạn nên chia nội dung của mình thành nhiều tài liệu.