gpt4 book ai didi

node.js - 如何添加到用户对象 Node.JS

转载 作者:可可西里 更新时间:2023-11-01 10:02:28 26 4
gpt4 key购买 nike

我是 node 新手,请多多包涵!

我正在开发我的授权系统。到目前为止,我已经完成了登录、注册和注销。现在我想在设置页面中更新我的用户。我将如何去更新已经添加的用户项目,如用户名、密码和电子邮件?最重要的是添加新的 API Key 和 API Secret。

这是我的代码:

var UserSchema = mongoose.Schema({
username: {
type: String,
index:true
},
email: {
type: String
},
password: {
type: String
},
apiKey: {
type: String
},
apiSecret: {
type: String
}
});

我的用户架构,注册时未添加 api key 信息。它应该在模式中还是稍后自动添加?

    var newUser = new User({
username: username,
email:email,
password: password
});
User.createUser(newUser, function(err, user){
if(err) throw err;
console.log(user);
req.flash('success_msg', 'You are registered and can now login');

res.redirect('/users/login');
});

我如何在验证后创建新用户。

router.post('/settings', function(req, res){
var apiKey = req.body.apiKey;
var apiSecret = req.body.apiSecret;
//INSERT api info into DB here
});

我从表单中获取 API key ,然后想将它们插入到当前登录的用户中。这就是我的问题所在。

提前感谢您的帮助!

最佳答案

假设您可以访问像 req.user 这样的 req 中的登录用户

router.post('/settings', function(req, res) {
var updateFields = {
apiKey: req.body.apiKey,
apiSecret: req.body.apiSecret
}

User.findOneAndUpdate({"_id": req.user._id}, {"$set": updateFields}, {"new": true}})
.exec(function(err, user) {
if (err) {
//handle err
} else {
//user contains updated user document
}
});

});

是的,即使在将来,您也应该保留所有要插入的字段。否则他们不会插入数据库。

关于node.js - 如何添加到用户对象 Node.JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45521193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com