我有以下函数应返回“代理”集合中的所有_id值:
public static List<Agency> findByAgencyIds(List<String> ids){
MorphiaQuery q = Agency.q();
System.out.println("ids: " + ids);
q.field("_id").in(ids);
return q.asList();
}
以下是使用上一个功能的功能
public static BasicDBObject getQueryAgenciasMultiples(String agency) {
List<String> agencyIds = new ArrayList<String>(Arrays.asList(agency.split("\\s*,\\s*")));
List<String> finalList = Lists.newArrayList();
for (String id : agencyIds) {
finalList.add(id.trim());
}
List<Agency> agencyList = Agency.findByListIds(finalList);
List<DBRef> dbrefs = new ArrayList();
agencyList.forEach(a -> dbrefs.add(new DBRef("Agency", a.getId())));
return new BasicDBObject("$in", dbrefs);
}
问题:
由于我不知道如何从MongoDB中检索ObjectId值类型,因此该查询未从“ Agency”中检索_id字段值。
所以,我的问题是?如何从“代理商”集合中获取所有_id字段值?
欢迎任何帮助。在此先感谢您,