2017-12-08 16 views
1

エンティティは、son-> father-> grandfatherのように1行にはいない複数の親を持つことはできますか?Google Datastoreの複数の親ですか?

例:

ファミリーツリー:ママ&お父さんは、すべての子供たちの両親です。

答えて

2

いいえ、エンティティには単一の親しか存在できません。 Ancestor pathsから:Cloud Datastoreの中

エンティティのファイルシステムのディレクトリ構造に似た階層構造スペース を形成します。エンティティ を作成する場合、別のエンティティを 親として指定することもできます()。新しいエンティティは親エンティティのです(ファイルシステムとは異なり、親エンティティは実際に存在する必要はありません)。 親なしのエンティティはルートエンティティです。エンティティとその親の 間の関連付けは永続的であり、 エンティティが作成されると変更することはできません。 Cloud Datastoreでは、同一の親を持つ2つのエンティティ、または2つのルートエンティティ (親なしのエンティティ)に同じ数字 を割り当てることはありません。

エンティティの親、親の親などは、再帰的に、その の祖先です。その子供、子供の子供などは、子孫です。ルートエンティティで始まり、与えられたエンティティに至る親から子に進むエンティティのシーケンスは、そのエンティティの祖先パスを構成します。 エンティティを識別する完全なキーが その祖先パスを指定し、エンティティ自体のものと終端種類識別子対の配列からなる:

[User:alice, TaskList:default, Task:sampleTask] 

ルートエンティティの、祖先パスは空と鍵であります単に企業自身の種類と識別子の を構成されています:ディレクトリ構造の比較に続いて

[User:alice] 

:ファイルだけではない2以上で、1つのディレクトリに存在することができます。

+0

私はディレクトリ構造の部分について考えました。私は "ファイルはシンボリックリンクを使って一度に2つのフォルダに象徴的に存在することができる"と考えました... ...ありがとう! – Chemdream

+0

その場合を除いて、2番目のディレクトリに存在するものはファイル自体ではなく、別の(特殊な)ファイルであるシンボリックリンクです。 –

関連する問題