시나리오 1 : 위대한 할아버지 조상이 있다면 (그에게 A라고 부름); 그리고 내 열쇠는 "child1"에서 왔습니다. 내 할아버지가 A인지 확인하는 방법이 있니? (반복 할 필요없이 할 수 있기를 바랍니다)위대한 할아버지 AppEngine 상위 쿼리
child1의 키가 "A-> B-> C"경로인지 확인 할 수 있습니다.
A -> B -> C -> (자식 1, 자식 2 ...)
시나리오 2 : 상기에서 . 위대한 할아버지는 "G"의 또 다른 후손이 있고, "H"의 어린이를 검색하고 싶습니다 :
A-> B -> C -> (아동 C의)
...-> G를 - > H -> (H의 아이들) 할아버지가 A, G에서 H 로의 경로를 알고 있다고 생각하면서 "H"의 아이들을 검색하고 싶습니다.
는 그 아이를 확인하려면 1의 : 좋지 않을까
설명 : ** 키 **에서 getParent를 호출하는 데 오버 헤드가 없습니다. ** 엔티티 **에서 getParent를 호출하면 실제로 데이터 저장소에서 부모 객체가 얻어 지므로 오버 헤드가 발생합니다. –
오른쪽. 그것이 내가 말할 수있는 것입니다. key.getParent()에는 오버 헤드가 없습니다. 나는 내 대답을 편집했다. 감사! – Amir
Great grandpa 질문에 감사드립니다. 더 깊은 계층 구조를 구현할 때 경로로 레이블이 지정된 유형의 노드를 추가했는데이 노드는 문자열 경로를 포함하고 다른 모든 일반 노드의 컨테이너입니다. –