如何使用objectify在Google数据存储区上应用非重复?

问题描述 投票:0回答:1

如果我错过了这么明显的事情,我对这个新手还是陌生的。我正在尝试获取属性上具有不同值的某些实体。说,我有一个称为消息的实体。它具有一些属性,例如personId,typeId,convId,createdTime等。我想获取具有不同convIds的personId p1的消息。我该怎么做。

我已经提到Executing DISTINCT query with objectify for app engine和其他一些。并尝试了这样的事情。

ofy().load().type(messages.class).limit( 10 ).filter("personId ==", "p1").order("-createdTime").project("convId").distinct(true).list();

我确定某些实体具有这种组合。但是它没有获取任何实体。请帮我解决一下这个。

google-app-engine google-cloud-datastore distinct objectify
1个回答
0
投票

很遗憾,您的查询无效。对于投影查询,您需要distinct处于您要依据其排序的值上(即-createdTime)。要使用非重复,您需要按convId排序。

[https://cloud.google.com/datastore/docs/concepts/queries#restrictions_on_queries有更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.