当前位置:  开发笔记 > 编程语言 > 正文

MongoDB-插入项目的返回ID

如何解决《MongoDB-插入项目的返回ID》经验,为你挑选了1个好方法。

从下面的教程

https://codeforgeek.com/2015/08/restful-api-node-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){
      if(err) 
      {
        response = {"error" : true,"message" : "Error adding data"};
      } 
      else 
      {
          response = {"error" : false,"message" : "Data added"};
      }
      res.json(response);
  });

}

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



1> Sk Arif..:

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

因此,如果您尝试_idresult中获取结果,则会发现以下内容:ObjectId("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);
});

希望答案能对您有所帮助。

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有