【发布时间】:2014-12-31 18:11:57
【问题描述】:
我有这些课程:
@Entity
public class Event implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
...
@Embedded
private List<Edition> editions;
...
}
和
public class Edition implements Serializable {
private static final long serialVersionUID = 1L;
private int number;
...
}
我正在尝试搜索事件并按特定版本号进行过滤。
例如,如果我有这样的集合:
{
id : <ObjectID>,
editions : [
{number : 1},
{number : 2}
]
}
按第 1 版搜索,我期望的结果是:
{
id : <ObjectID>,
editions : [
{number : 1}
]
}
我在 morphia 中阅读了有关过滤器的信息,我的查询是这样的:
Query<Event> query = this.basicDAO.createQuery();
query = query.filter("editions.number", <edition number>);
return this.basicDAO.find(query).asList();
但是我仍然得到两个版本元素。我做错了什么?
【问题讨论】:
标签: java mongodb mongodb-java morphia