玩! Morphia在Collection(即Set或List)字段中查询

时间:2012-01-08 20:26:12

标签: java collections playframework morphia

我的文档的父文档ID为一组长值,如下所示:

{..., "parentIDs" : [ 47, 49 ], ...}

在我的Entity类中,此字段定义为:

@Embedded(concreteClass = java.util.TreeSet.class)
@Indexed
public Set<Long> parentIDs = new TreeSet<Long>();

Morphia查询返回具有特定父ID的所有文档(例如47)会是什么?

我正在使用:

List<Node> nl = Node.find("type", "event").filter("parentIDs", id).asList();

,id是正确且现有的父文档ID。 但它不起作用。我错过了什么?

感谢eriq

1 个答案:

答案 0 :(得分:2)

我对find表达式并不熟悉,我没有使用Play!但我解决这个问题的方式也适合你。而不是使用过滤器,使用方法field()和hasThisOne()。

可能是这样的:

Node.find("type","event").field("parentIDs").hasThisOne(id).asList();

希望这有帮助

此致 ·阿尔