2
我們可以通過X.all()。ancestor(y)獲得y(包括間接)的所有孩子,但我只想接收那些y的直接孩子。如何在GAE Datastore(HRD)中查詢實體的直接子對象?
有沒有辦法做到這一點?
我們可以通過X.all()。ancestor(y)獲得y(包括間接)的所有孩子,但我只想接收那些y的直接孩子。如何在GAE Datastore(HRD)中查詢實體的直接子對象?
有沒有辦法做到這一點?
嘗試:
X.all().filter("parent = ", y)
使用數據存儲區Query()您可以通過使用方法setAncestor()設置它的祖先,但它並不能保證祖先是直接父。
你可以做什麼來確保只取得直接的孩子是通過做一個比較操作。
if(directChildEntity.getKey().getParent().equals(directParentEntity.getKey()))
{
// directChildEntity is a direct child of directParentEntity
}
訣竅是使用數據存儲區Key's getParent()方法,因爲它可介導的鍵之間的一步驟的層次結構。
我想你已經倒過來了。我認爲他正在尋找y的直接子女。我認爲它應該是X.all()。filter(「parent =」,y)。 – Albert 2012-04-04 14:18:28
@Albert謝謝 – 2012-04-04 19:17:23
這隻有在您有一個名爲'parent'的數據存儲屬性時纔有效。 – 2012-04-05 05:39:31