0
我想更新已存儲在數據庫中的記錄的字段。我怎樣才能做到這一點?到目前爲止,我所遇到的所有示例都是Python/Php或MongoDB(Java)的較早版本,並且api不再是最新版本。MongoDB Java - 更新記錄中的字段
基本上我想加載一個特定的userId在內存中的對象,並更改其用戶名值。 (我想請您看看下面的代碼)
謝謝你這麼多
編輯
到目前爲止,我有以下代碼:
public class UserDAO {
MongoOperations mongoDb;
public UserDAO(){
mongoDb = MongoDBInstanceFactory.getMongoDBinstance();
}
public User getUserByUsername(String username){
Query searchUserQuery = new Query(Criteria.where("username").is(username));
return mongoDb.findOne(searchUserQuery, User.class);
}
public User getUserById(String id){
Query searchUserQuery = new Query(Criteria.where("id").is(id));
return mongoDb.findOne(searchUserQuery, User.class);
}
public User addUser(String username){
mongoDb.save(new User(username));
return getUserByUsername(username);
}
}
@Document(collection = "users")
public class User {
public User(String username) {
this.username = username;
}
public User() {
}
@Id
private String id;
private String username;
//getter, setter, toString, Constructors
/**
* @return the id
*/
public String getId() {
return id;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
}
@RequestMapping(value = "/registerUser")
public @ResponseBody
String registerUser(@RequestParam(value = "username") String username, HttpServletResponse response) throws IOException {
sb = new StringBuilder();
user = userDao.getUserByUsername(username);
if (user == null) {
user = userDao.addUser(username);
userQueryPhaseDao.addUserQueryPhase(user.getId(), null, "0");
sb.append("1|").append(user.getId());
response.addCookie(new Cookie("userId", user.getId()));
} else {
sb.append("0|User with that handle already exists!");
}
return sb.toString();
}
謝謝你您的時間
你有你自己的三條線,你認爲可能已經工作但失敗了嗎? –
我不知道如何繼續。我寫了一個DAO,我爲addUser和getUserById方法創建了包裝,但是,我不確定如何執行更新。因此,在這裏粘貼這些線不會有太大的幫助:/ – user2398832
它會向其他人展示您真正花費時間並讓他們更加同情您的問題。 –