RT    我用mongoose连接mongodb。 一个简单的例子,之前的连接数据库我就给省了:function Register (realname,email,password) {
        var post = new users();
        post.realname = "姚笛";
        post.email = "[email protected]";
        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下写的。

解决方案 »

  1.   

    "但是在另一个文件接收之后,返回的确实undefined 如若不做save()操作的话,只是单纯判断则是能返回true/false的。可能是其中的原理不太明白,求高手解答下疑惑。我实在centOS下写的。"
    有疑问:1什么是"但是在另一个文件接收后"
    save操作不就是进行保存的吗,如果你没有做save()操作,那么怎么返回的true
    建议:1,在ff下试试console.log(err)看看这个对象是个什么东西
    2,还有一个eval()函数,将接收到的err进行序列化,转换成对象,也可以试试
      

  2.   

    另一个文件就相当于一个页面A,这个是B。我在A中调用B,然后想要save()之后的  return  一个true或false 给A     但是返回给A的却是undefined。
      

  3.   

    另一个文件就相当于一个页面A,这个是B。我在A中调用B,然后想要save()之后的 return 一个true或false 给A 但是返回给A的却是undefined。
      

  4.   

    另一个文件就相当于一个页面A,这个是B。我在A中调用B,然后想要save()之后的 return 一个true或false 给A 但是返回给A的却是undefined。
      

  5.   

    我也不是特别精通,刚才想到一点,是不是作用域的原因啊?save(function (err) {});返回的值应该不能被外部调用吧?记得以前写的时候,里面的数值是不能够被外面调用的。