2012-04-04 5 views

ответ

0

попробовать:

X.all().filter("parent = ", y) 
+0

Я думаю, вы получили это перевернутое. Я думаю, он ищет запрос для прямых детей. Я думаю, что это должен быть X.all(). Filter ("parent =", y). – Albert

+0

@Albert Спасибо –

+0

Это будет работать только в том случае, если у вас есть свойство datastore, называемое родительским. –

0

Использование хранилища данных Query() вы можете установить его предка с помощью метода setAncestor(), но это не гарантирует, что предок является прямым родителем.

Что вы можете сделать, чтобы обеспечить получение только прямых детей, выполнив операцию сравнения.

if(directChildEntity.getKey().getParent().equals(directParentEntity.getKey())) 
     { 
     // directChildEntity is a direct child of directParentEntity 
     } 

Хитрость заключается в том, чтобы использовать метод Datastore Key's getParent(), так как он может опосредовать один шаг иерархии ключей между собой.

Смежные вопросы