1MB 초과 Firestore

Oct 17 2020

나는 firestore에 여행 기록 (배열지도)을 저장하고 있습니다. 큰 배열 맵을 저장하려고 할 때 앱이 충돌합니다 (Flutter 앱) (배열 길이가 10,000 개 이상일 수 있음). 또한 동일한 문서에 30 개 이상의 필드가 있습니다.

이것은 내지도 (지도 목록)입니다.

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

이런 종류의 어레이를 firestore에 저장하는 솔루션이 있습니까?

답변

1 DougStevenson Oct 16 2020 at 22:15

Firestore에서 문서의 최대 크기를 초과 할 수 없습니다.

대신해야 할 일은 각 데이터 항목을 기본 문서 아래 중첩 된 하위 컬렉션에서 고유 한 문서로 분할하는 것입니다.

Harkal Oct 16 2020 at 22:48

firestore 문서는 최대 1MB의 저장 용량을 가지며 개발자가 1MB까지 채워야한다는 의미는 아닙니다. 무거운 문서에는 다음과 같은 단점이 있습니다.

  1. 낮은 네트워크에서는 문서가로드되지 않습니다.
  2. 사용자가 그렇게 많은 데이터에 액세스해야하는 경우는 거의 없습니다. 단일 데이터 모델은 앱의 모든 요구 사항을 수용 할 수 없으므로 데이터를 여러 데이터 모델로 분할해야합니다.
  3. 추가 데이터를 쿼리하는 경우 더 많은 송신 요금이 부과됩니다.

따라서 이러한 사항을 염두에두고 데이터베이스를 모델링해야합니다. Doug가 언급했듯이 콘텐츠를 여러 문서로 분할해야합니다.