2015-04-14 3 views
0

У меня есть коллекция с именем TeamInfo, я создал класс для этого в Java с помощью аннотаций морфия, как показано ниже:Как обновить поле во всей коллекции в MongoDB используя морфий

@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); 

Я только начал изучать морфию, это будет здорово, если кто-то может мне помочь.

+0

Я пытаюсь выполнить операцию обновления (SQL), похожее на это в MongoDB: 'запрос Запрос = em.createQuery ("UPDATE TeamInfo т SET t.userCount = 0");' –

ответ

0

Вы используете пустой запрос без каких-либо условий.

UpdateOperations<TeamInfo> updateOperation = datastore.createUpdateOperations(TeamInfo.class).set("userCount", 0);   
Query<TeamInfo> query = datastore.createQuery(getEntityClazz()); // empty query 
datastore.update(query, updateOperation); 
+0

Спасибо большое , Помог мне много :) –

Смежные вопросы