如何按祖先/父级对Google App Engine查询进行排序?
我想按照祖先来排序实体,GQL 参考中只提到了排序时的属性。我是否需要把父级存储为一个属性才能参与排序?
我想实现这样的效果:
Foo.all().ancestor(bar).order('ancestor').order('-value').fetch(100)
编辑:
我有这样的东西:
bar
├ spam
│ ├ foo2 (value = 2)
│ └ foo7
└ egs
├ foo6
└ foo5
我希望得到:[foo5, foo6, foo2, foo7]
。我想我真正想要的是按祖先分组,然后再按value
属性排序。
1 个回答
4
按照键排序时,系统会先根据祖先进行排序,然后再根据实体的ID或名称进行排序。如果你想只根据祖先来排序,而不想根据实体的ID或名称来排序,那你就需要明确地添加一个'ancestor'自引用属性来进行排序。