Как обновить поле во всей коллекции в 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);
Другие вопросы по тегам