Java 使用Morphia同时查询父项和子项
假设我们有两个对象:Java 使用Morphia同时查询父项和子项,java,mongodb,morphia,Java,Mongodb,Morphia,假设我们有两个对象: class Server { ... String location; List<Status> statusList; ... } class Status { ... int code; ... } 类服务器{ ... 字符串位置; 列表状态列表; ... } 阶级地位{ ... int代码; ... } 如何获取具有相同位置的所有服务器的状态列表。例如,如果code==1和location==“
class Server {
...
String location;
List<Status> statusList;
...
}
class Status {
...
int code;
...
}
类服务器{
...
字符串位置;
列表状态列表;
...
}
阶级地位{
...
int代码;
...
}
如何获取具有相同位置的所有服务器的状态列表。例如,如果code==1
和location==“北京”
如果我想使用createQuery(Server.class)和.filter(),那么输出不能是状态列表 下面的操作不应该对此起作用吗
List<Server> oops = createQuery(Server.class).find("location","Beijing").find("statusList.code", 1).asList();
List oops=createQuery(Server.class).find(“location”,“Beijing”).find(“statusList.code”,1).asList();
Morphia不支持返回这样的不同类型。它将返回创建查询时指定的类型。您可以通过创建带有Status的查询和Server的集合并仅投影Status字段来伪造它。不过,您需要禁用验证 我需要列表
,但这里是列表
,您可以在另一个类似的步骤中执行此操作: