我有一个mongoose
脚本可以保存用户:
saveUser: function(username, password){
return new Promise(function(resolve, reject){
var newUser = new User({ username:username, password:password });
newUser.save(function (err, msg) {
if (err) {
reject(err);
} else {
resolve('User saved.' + msg);
}
});
});
}
此脚本似乎有效,它调用resolve()
方法并返回已保存的用户。
然而,在那之后,我的数据库不显示记录。
我这样称呼函数:
router.post('/', function(req, res, next) {
user.saveUser(req.body.username, req.body.password)
.then(function(msg){
res.json({status: msg});
})
.catch(function(msg){
res.json({status: msg});
})
});
我试图找到记录,结果就是这样:
{
"status": [
{
"_id": "56cec8a39641c8c01bd9f5e4",
"username": "test",
"password": "test",
"born": "2016-02-25T09:25:55.425Z",
"died": "2016-02-25T09:25:55.656Z",
"__v": 0
}
]
}
这是与DB相关的唯一代码。 Mongoose为什么在创建对象后立即删除它?我从未实现过remove
功能?!
答案 0 :(得分:0)
我认为问题在于你正在使用var newUser = new User({ username:username, password:password });
。您可以使用以下命令在mongoose中创建用户。
User.create({ username:username, password:password });