【发布时间】:2014-08-15 00:08:24
【问题描述】:
我设置了一些定义为Enum 的值。现在我想编写一个查询,它返回在其集合中具有特定Enum 值的实体的数量。我已经尝试如下,但它不起作用(返回空的实体列表)。
public InfoCount getInfoCount(@Named("info") InfoType type) {
ofy().load()
.type(InfoRecord.class)
.filter("infoTypes", type)
.count()
}
infoTypes 被声明为Set<InfoType>
使用in 检查集合中是否存在值很简单,但如何以另一种方式检查它 - 集合是否包含值(或值集)?
【问题讨论】:
-
检查字段上是否有@Index。
-
@Ashish 工作正常。我在
infoTypes集上没有@Index注释。您能否将其发布为答案,以便我投票并接受它? -
谢谢汤姆。发布带有详细信息的答案,以便任何查看它的人都可以得到完整的图片。
-
我可以检查一个集合是否包含一个 Key> 吗?对我不起作用,可能是关键问题。我有一个包含 Key> 集合的实体。我想查询在其集合中具有特定 Key> 的实体。
-
@vandus 使用过滤器
myEntities = {{ MyEntity instance }}查询myEntities = {{ MyEntity instance }}对我有用。不确定是否要改用 Key。
标签: google-app-engine enums google-cloud-datastore objectify