使用Mongoose从Mongodb接收数据

时间:2017-09-29 10:43:10

标签: mongodb express mongoose

如果没有使用Mogoose输入数据,我们可以使用Mongoose从Mongodb检索数据吗?因为数据是在Mongodb数据库中手动输入的。目前我正在尝试使用MongooseModel.findOne()方法检索数据,但它没有找到所需的数据。

我的Mongoose模型是这样的:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mongooseUniqueValidator = require('mongoose-unique-validator');

var schema = new Schema({    
    email: {type: String, required: true, unique: true},   
    password: {type: String, required: true}
});

schema.plugin(mongooseUniqueValidator);

module.exports = mongoose.model('User', schema);

数据库名称: test-mean

收藏品名称:用户

这是我使用Mongoose检索数据的帖子路线。

router.post('/signin', function(req, res, next) {
  User.findOne({email: req.body.email}, function(err, user) {
      if (err) {
          return res.status(500).json({
              title: 'An error occurred',
              error: err
          });
      }
      if (!user) {
          return res.status(401).json({
              title: 'User Login failed',
              error: {message: 'Invalid login credentials'}
          });
      }
      if (req.body.password != user.password) {          
          console.log('user password ' + user.password);
          console.log('request body password ' + req.body.password);
          return res.status(401).json({
              title: 'Password Login failed',
              error: {message: 'Invalid login credentials'}
          });
      }
      var token = jwt.sign({user: user}, 'secret', {expiresIn: 7200});
      res.status(200).json({
          message: 'Successfully logged in',
          token: token,
          userId: user._id
      });
  });
});

请帮忙。感谢

0 个答案:

没有答案