2017-12-04 11 views
2

は、firestoreアレイ状のデータ構造インデクシング制限firestoreドキュメントの

インデックス限界以下の記述がある - 単一の文書がインデックス内蔵クラウドFirestoreを使用する ためにのみ2万特性を有することができます。配列のようなデータ の構造が数万のメンバーに成長する場合、この の制限に遭遇する可能性があります。

https://cloud.google.com/firestore/docs/solutions/arrays

私は説明を解釈する方法を知りたいです。 制限を満たすパターンはどれですか?

<pattern 1: categories in one document above 20,000> 
    doc1 
    - id:111 
    - categories: {aaaa:true, aaab:false, aaac:true, aaad: false, aaae:true, aaaf:true, aaag:true, aaah:true, aaai:true, aaaj:true, ,,,,,,,,,,, } 

別のパターン

<pattern 2: categories in one document is a few but as a collection of document number of categories above 20,000> 
    doc_1 
    - id:111 
    categories{aaaa:true, aaab:false, aaac:true, only several element} 
    doc_2 
    - id:111 
    categories{aaad:true, aaae:false, aaaf:true, only several element} 
    doc_3 
    - id:111 
    categories{aaag:true, aaah:false, aaai:true, only several element} 

私はそのパターン1が限界に達すると考えていますが、パターン2が限界に達していますか?

答えて

0

制限はの合計個のプロパティであるため、両方のパターンが20,000制限に達する可能性があります。ここで

は役立つかもしれない性質をカウントするいくつかの例は以下のとおりです。

この文書では、2つのプロパティがありますabb.cd

:この文書では、4つのプロパティを持つ ab.c

{ 
    a: "foo", 
    b: { 
    c: "bar" 
    } 
} 

{ 
    a: "foo", 
    b: { 
    c: "bar", 
    }, 
    d: ["quz", "qaz"] 
} 

そして、このd ]で文書は、同様に4を持っている:

{ 
    a: "foo", 
    b: { 
    c: "bar", 
    }, 
    d: ["quz", "qaz", "apple", "banana"] 
} 

この文書では、5を持っています

{ 
    a: "foo", 
    b: { 
    c: "bar", 
    }, 
    d: ["quz", "qaz"], 
    e: ["apple", "banana"] 
} 

だから、任意の単一配列の長さやどのように深くネストされた事があるではないのですが、それは照会可能な値の総数についてです。


EDIT 03/05/18:私が言ったときにその配列のメンバーは、インデックスに対して別々にカウントする前に、私が間違っていました。彼らは、FirestoreがAlphaにあったときに公開されたことがなかった場所にあったものでした。

+0

ありがとうございます。 次に、リーフノードの数に制限が適用されます。 文書がコレクションとして存在する場合、numberはコレクションに関連せず、各文書にのみ適用されます。 –

+0

@YuutaMoriyama正しいですが、各ドキュメントのみ –

関連する問題