Javascript MongoDB-插入项的返回id

Javascript MongoDB-插入项的返回id,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,从下面的教程开始 我有以下步骤在数据库中创建订单 exports.createOrder = function(req,res){ var db = new mongoOp(); var response = {}; db.userId = req.body.userId; db.userEmail = req.body.userEmail; db.userOrder = req.body.userOrder; db.save(function(err){

从下面的教程开始

我有以下步骤在数据库中创建订单

exports.createOrder = function(req,res){
  var db = new mongoOp();
  var response = {};

  db.userId = req.body.userId;
  db.userEmail =  req.body.userEmail;
  db.userOrder = req.body.userOrder;

  db.save(function(err){
      if(err) 
      {
        response = {"error" : true,"message" : "Error adding data"};
      } 
      else 
      {
          response = {"error" : false,"message" : "Data added"};
      }
      res.json(response);
  });

}

如何从DB.save()中返回插入项的id以及响应?

save函数返回一个WriteResult对象,其中包含添加对象的id作为属性。视图,所以试着像下面那样记录它,看看你得到了什么

db.save(function(err, result){
      if(err) 
      {
        response = {"error" : true,"message" : "Error adding data"};
      } 
      else 
      {
          console.log(result._id);
          response = {"error" : false,"message" : "Data added"};
      }
      res.json(response);
  });

db.save()
函数的回调函数接受两个参数,其中第二个参数将为您提供插入或更新的结果。如果您没有为
\u id
提供要保存的数据,mongodb将生成一个id,并将其分配给
\u id
的键

因此,如果您试图从结果中获取
\u id
,您会发现如下内容:
对象id(“50691737d386d8fadbd6b01d”)
,您可以将其添加到响应对象中

db.save(function(err, result){
  if(err) {
    response = { error: true, message: "Error adding data" };
  } else {
    response = { error: false, message: "Data added", id: result._id };
  }
  res.json(response);
});
希望答案对你有帮助