【发布时间】:2022-02-15 08:54:10
【问题描述】:
我不明白,但是当创建用户时,日期是指创建帐户的日期。但是当用户更新他们的信息时,“日期”也会更新。我究竟做错了什么?
我的模特:
var userinfoSchema = new mongoose.Schema({
type_ : String,
firstname : String,
surname : String,
organization : String,
name : String,
person_role : String,
members_num : Number,
address : String,
postal_code : String,
city : String,
country : String,
tel : String,
date: { type: Date, default: Date.now }
});
var UserSchema = new mongoose.Schema({
username: String,
password: String,
userinfo: [userinfoSchema]
});
还有我的应用功能:
app.put("/Edit/:id", function(req,res) {
User.findByIdAndUpdate(req.params.id, {$set: { userinfo: req.body.userinfo}},
function(err, updated) {
if(err) {
res.redirect('/Edit');
} else {
console.log(updated);
res.redirect('/Profil');
}
});
});
【问题讨论】:
-
您的意思是您的
date在您更新收藏时也会更新?然后你在别处有一个preUpdate回调 -
是的,就是这样。例如,当用户更新他的电话号码时。日期也更新了。
-
这并不完全清楚你想要什么,但从它的声音你期望
date字段在每次更新时使用pre/post中间件自动更新。对吗? -
如果是这种情况,请包含您定义的中间件。
-
@c1moore 你好,不,这不是我想要的,对不起我的英语。我希望用户可以更新每个字段,当他点击“保存”时,“日期”保持不变。因为日期的意思是:注册日期。