Как обновить поле во всей коллекции в mongodb, используя morphia
У меня есть коллекция с именем TeamInfo, я создал класс для нее в Java, используя аннотации morphia следующим образом:
@Entity("TeamInfo ")
public class TeamInfo {
@Id
private Integer teamInfoId;
private String teamName;
private Integer userCount;
}
Мне нужно выполнить операцию обновления в TeamInfo, которая изменяет userCount и устанавливает его на 0. Мне нужен запрос, который установит значение userCount во всех документах TeamInfo. Итак, как получить все документы TeamInfo в запросе?
UpdateOperations<TeamInfo> updateOperation = datastore.createUpdateOperations(TeamInfo.class).set("userCount", 0);
Query<TeamInfo> query = datastore. ??? ;
datastore.update(query, updateOperation);
Я только начал изучать морфию, будет здорово, если кто-нибудь сможет мне помочь.
1 ответ
Решение
Вы используете пустой запрос без каких-либо условий.
UpdateOperations<TeamInfo> updateOperation = datastore.createUpdateOperations(TeamInfo.class).set("userCount", 0);
Query<TeamInfo> query = datastore.createQuery(getEntityClazz()); // empty query
datastore.update(query, updateOperation);