1
這裏是我的架構:如何更新一個mongodb字段而不必爲每個單獨的字段更新單個路由?
var UserSchema = mongoose.Schema({
username: {
type: String,
index: true
},
password: {
type: String
},
email: {
type: String
},
phonenumber: {
type: Number
},
fname: {
type: String
},
lname: {
type: String
},
role: {
type: String
}
});
這是明確的路線,路線/ update.js。例如,在更新電子郵件或電話號碼時,每條路線都會更新一個字段。
//updating email.
app.post('/editemail', function (req, res) {
var username = req.body.username;
User.getUserByUsername(username, function (err, users) {
var email = req.body.email;
users.update({
email: email
}, function (err, id) {
if (err) {
res.send("problem updating");
} else {
res.render("pages/profile", {
users: users
});
}
})
});
});
//Updating phonenumber
app.post('/editphone', function (req, res) {
var username = req.body.username;
User.getUserByUsername(username, function (err, users) {
var phonenumber = req.body.phonenumber;
users.update({
phonenumber: phonenumber,
}, function (err, id) {
if (err) {
res.send("problem updating");
} else {
res.render("pages/profile", {
users: users
});
}
})
});
});
有沒有一種方法,我可以把所有這些路線放到一個單一的路線,並能夠獨立更新單個字段?
它還沒有工作。即時獲取「無法讀取屬性'更新'null」。 – dessHub
看看我更新的答案,抱歉剪切並粘貼你的代碼而不檢查它,你應該使用'.findOne()'方法來查找單個用戶。 – alexi2
我現在沒有錯誤,但它不能更新。也許我錯過了什麼,檢查出來。 – dessHub