吕小小 关于nodejs操作mongodb问题
RT 我用mongoose连接mongodb。 一个简单的例子,之前的连接数据库我就给省了:
function Register (realname,email,password) {
var post = new users();
post.realname = "姚笛";
post.email = "yd@123.com";
post.password = "123456";
post.save(function (err) {
if (!err){
console.log('保存成功!');
//return true;
}else{
console.log('保存失败!');
//return false;
}
});
}
在做完save()操作之后,进行判断,成功之后,我想返回一个true,否则false. 但是在另一个文件接收之后,返回的确实undefined 如若不做save()操作的话,只是单纯判断则是能返回true/false的。可能是其中的原理不太明白,求高手解答下疑惑。我实在centOS下写的。
------解决方案--------------------
"但是在另一个文件接收之后,返回的确实undefined 如若不做save()操作的话,只是单纯判断则是能返回true/false的。可能是其中的原理不太明白,求高手解答下疑惑。我实在centOS下写的。"
有疑问:1什么是"但是在另一个文件接收后"
save操作不就是进行保存的吗,如果你没有做save()操作,那么怎么返回的true
建议:1,在ff下试试console.log(err)看看这个对象是个什么东西
2,还有一个eval()函数,将接收到的err进行序列化,转换成对象,也可以试试
------解决方案--------------------
我也不是特别精通,刚才想到一点,是不是作用域的原因啊?save(function (err) {});返回的值应该不能被外部调用吧?记得以前写的时候,里面的数值是不能够被外面调用的。