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