从mongoose回调函数Node.js获取返回值

时间:2016-09-25 04:04:45

标签: node.js mongodb mongoose

我写了一个像这样的函数

function create(data, res){

    var history= new historyData({
        owner: data
    });

    historyData.save(function(err, historyData) {


        //To identify the error
        if (err) {


            console.log(err);
        }

        //If no error pass the team details to databsae
        else {

            return historyData.id;       

        }
    });
}

我正试图获得像这样的返回值

var history = create("saddsa", res);

但它会出现undefined错误

我想获取已创建集合的id并将其传递给另一个函数?

2 个答案:

答案 0 :(得分:1)

尝试返回callback并获取该值

function create(data, res, callback) {

  var history = new historyData({
    owner: data
  });

  historyData.save(function(err, historyData) {
    //To identify the error
    if (err) {
      console.log(err);
      callback(err)
    }

    //If no error pass the team details to databsae
    else {
      return callback(null,historyData.id);

    }
  });
}
 // call your function like this    
  create("saddsa", res,function(err,result){
      if(!err){
        console.log(result)
      }
    });

答案 1 :(得分:0)

替换

return historyData.id;

if(res) res(historyData.id);

并致电

create("saddsa", function (id) { var history = id; });