У меня есть следующая функция, которая должна возвращать все значения _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);
}
Проблема:
Запрос не получает значения поля _id из «Агентства», поскольку я не знаю, как получить тип значения ObjectId из MongoDB.
Итак, мой вопрос: как я могу получить все значения полей _id из коллекции «Агентство»?
Любая помощь приветствуется.Заранее спасибо, наилучшие пожелания