如果没有使用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
});
});
});
请帮忙。感谢