Как лучше всего найти и обновить элементы вложенного списка как @DBRef
в MongoDB для Spring?
У меня есть AppliedApplication класс:
@Document(collection = "applied_application")
public class AppliedApplication {
@Id
private String id;
@Field("program")
@DBRef
private List<Program> programList;
// getters and setters
}
С Программируйте класс как @DBRef
:
@Document(collection = "program")
public class Program {
@Id
private String id;
@Field("program_name")
private String programName;
// getters and setters
}
Я ищу способ найти и обновить элементы вложенного списка, используя следующие запросы:
Запрос, используемый для поиска объекта Program по объекту It's Id из Коллекция AppliedApplication :
Query query = new Query();
query.addCriteria(Criteria.where("id").is(applicationId)
.and("program.$id").is(new ObjectId(programId)));
Program program = mongoTemplate.findOne(query, Program.class);
Запрос, используемый для удаления элемента списка из AppliedApplication :
Update update = new Update().pull("program", new BasicDBObject("program.$id", new ObjectId(programId)));
mongoTemplate.updateMulti(new Query(), update, AppliedApplication.class);
Ни один из них не работает, и я совершенно не знаю.