см. Мой класс документов:
@Document
public class Workspace extends AuditDocument {
private String name;
...
}
@Document
public class DownloadFile extends AuditDocument {
@DBRef
private Workspace workspace;
private Date completeDate;
private String fileFullAddress;
private String fileName;
/*getter and setter*/
}
предположим, что у меня есть сетка для предварительного просмотра DownloadFile
данных.
моя проблема началась, когда пользователю необходимо отфильтровать данные по workspace
имени , когда я использую @DBRef
, мне удобно для согласованности данных, но я не могу искать другие поля класса workspace
, кроме id
. поэтому я буду вынужден обновлять данные этого поля, каждый раз, когда workspace
меняется.
@Async
public void updateWorkspaceName(Workspace workspace) {
Query query = new Query();
query.addCriteria(Criteria.where("workspace.id").is(workspace.getId()));
Update update = new Update();
update.set("workspace", workspace);
mongoTemplate.updateMulti(query, update, DownloadFile.class);
}
и спрашивает, если у меня есть тысячи DownloadFile
документов, служба mongodb не будет иметь проблем с этой перегрузкой в будущее ?