如何将当前login的用户插入mongoose数据库。 在申请中使用护照js

如何将当前login的用户插入mongoose数据库。 任何人都可以帮助我。我已经创build了一个模式,现在想插入login用户的身份证,同时插入数据到架构。

 var userSchema = mongoose.Schema({

    本地:{
         email:string,
        密码:string,
     }

 });


 //新scheme是。 

 var contact_user_Schema = mongoose.Schema({
         USER_NAME:string,
        名称:string,
        标题:string,
        公司名称:string,
         email:string,
        性别:string,
         mobile_no:string,
         alt_mobile_no:string,
        地址:string,
        城市:string,
         group_name:String,
         website_url:string,
        出生date:string
 });

现在我想插入login用户的当前用户ID。
对于示例应用程序,您可以按照https://truongtx.me/2014/03/29/authentication-in-nodejs-and-expressjs-with-passportjs-part-1/

我有使用EJS的用户细节

ID :<%= user._id%>
电子邮件 :<%= user.local.email%>
密码 :<%= user.local.password%>

我有用户的详细信息主要问题是如何插入当前的用户数据到模式(表),而插入数据到另一个模式(表),所以在这种情况下,我们正在使用一对多的关系。

使用Passport很容易获得login的用户。

由于您使用的是快递框架,因此您可以从快递中间件获取已login的用户对象。

如果用户login,则可以使用以下属性在每个快速路由方法中获取当前用户:

req.user 

做一个console.log,看看你需要从用户提取的所有细节。

下面是一个本地注册策略,我用它来为用户注册,创build一个用户对象,并使用mongoose把它添加到我的mongoDB中的用户集合中。

 var LocalStrategy = require('passport-local').Strategy, User = require('mongoose').model('User') module.exports = function(passport){ passport.use('local-signup', new LocalStrategy(function(username, password, done){ User.findOne({username: username}, function(err, user){ if(err) { return done(err) } if(user) { return done(null, false) } else { var newUser = new User() newUser.username = username newUser.password = newUser.generateHash(password) newUser.downloads = [] newPassword = [] newUser.save(function(err){ if(err) { throw err } return done(null, newUser) }) } }) })) } 

如果你想把用户添加到会话用户的数据库中,你可能需要这样做:

 var newUser = req.user newUser.save(.... 

希望能帮助到你。

在express.js中很容易find用户的信息。 你可以通过调用req.user得到这个用户对象,然后使用req.user.id获取用户ID。

例如,您可以使用以下内容:

 router.get('/user', function(req, res){ var user_id = req.user.id }); 

您将使用用户标识填充user_idvariables。