如果我错过了这么明显的事情,我对这个新手还是陌生的。我正在尝试获取属性上具有不同值的某些实体。说,我有一个称为消息的实体。它具有一些属性,例如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();
我确定某些实体具有这种组合。但是它没有获取任何实体。请帮我解决一下这个。
很遗憾,您的查询无效。对于投影查询,您需要distinct
处于您要依据其排序的值上(即-createdTime)。要使用非重复,您需要按convId排序。
[https://cloud.google.com/datastore/docs/concepts/queries#restrictions_on_queries有更多详细信息。