У меня есть один класс пользователей, как это:обновление MongoDB документа с помощью Java объект
@Document(collection = "users")
public class User {
@Id
private String id;
String username;
String password;
String description;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "User[id=" + id + ", username=" + username + ", password=" + password + ", description"
+ description + "]";
}
}
Я способен выполнять ограниченное обновление. Как:
Query searchQuery = new Query(Criteria.where("id").is("shashi"));
mongoDBClient.updateFirst(searchQuery, Update.update("password", "newpassword"), User.class);
Теперь, если я хочу, чтобы обновить отдых других полей (username and description
) из User
класса, нужно вызвать метод updateFirst
так много раз.
Я хочу избежать этого и передать весь объект методу updateFirst
. Что-то вроде:
mongoDBClient.updateFirst(searchQuery, Update.update(userObject), User.class);
В принципе, я хочу редактировать все/несколько полей одним вызовом с помощью java POJO-объекта. Как я могу это достичь?