We can get all children of y (including indirect), by X.all().ancestor(y), but I want to receive only those which are direct children of y.
Is there any way to do it?
We can get all children of y (including indirect), by X.all().ancestor(y), but I want to receive only those which are direct children of y.
Is there any way to do it?
試す:
X.all().filter("parent = ", y)
Datastore Query()を使用すると、メソッドsetAncestor()を使用して祖先を設定できますが、祖先が直接の親であるとは限りません。
直接の子のみを取得するためにできることは、比較操作を行うことです。
if( directChildEntity.getKey().getParent().equals( directParentEntity.getKey() ) )
{
// directChildEntity is a direct child of directParentEntity
}
秘訣は、キー間のワンステップ階層を仲介できるため、データストアキーの getParent()メソッドを使用することです。