我根据一些谷歌文档建议创建了一组对象,这些对象是您希望拥有局部性的对象。
所以我的对象有'Name#00000001'形式的键。我的事情是我需要一个操作,我需要获得最后一个这样的操作,所以我可以用下面的代码得到它们。
var query = datastore.createQuery('Post')
.select('__key__')
.filter('__key__', '>=', datastore.key(['Post', req.query["Thread"] + "#00000001"]))
.filter('__key__', '<=', datastore.key(['Post', req.query["Thread"] + "#99999999"]));
事情就是我做
之类的事情var query = datastore.createQuery('Post')
.select('__key__')
.filter('__key__', '>=', datastore.key(['Post', req.query["Thread"] + "#00000001"]))
.filter('__key__', '<=', datastore.key(['Post', req.query["Thread"] + "#99999999"]))
.order('__key__',{descending: true})
.limit(1);
失败了。看来我根本无法按键排序。除此之外,这些项目还有时间戳,但似乎你不能按1项过滤,也不能按另一项排序。无论如何在没有查询所有内容的情况下获取带有查询的最后一项?
答案 0 :(得分:0)
在Google Cloud-Java中,请参阅StructuredQuery。你可以.setOrderBy(OrderBy.asc(&#34; __ key __&#34;))