在mongodb中将参数添加到更新查询的结果中

时间:2016-04-21 14:51:32

标签: node.js mongodb

  db.collection.update({id: id_}, {
    $set:{
      name: jp.name,
    }

  }, {
    upsert:true
  },function(err, result) {
       res.json({data:  result});
  });

我返回result以确定它是更新还是插入。我在客户端看nModified。如果是更新,则nModified返回1,否则如果是插入,则返回0.添加到result我想返回id字段。

result.id = id_;
res.json({data:  result});

但它没有用。 如何使用更新查询返回参数?

1 个答案:

答案 0 :(得分:2)

您可以使用Underscore's extend方法来实现此目标

var _ = require("underscore"), // npm install underscore to install
    query = { "id": id_ };

db.collection.update(query, 
    { "$set": { "name": jp.name } }, 
    { "upsert": true },
    function(err, result) {
        var r = _.extend(result.result, query);
        res.json({data:  r});
});