如何将当前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_id
variables。