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

db.collection.update({id: id_}, { $set:{ name: jp.name, } }, { upsert:true },function(err, result) { res.json({data: result}); }); 

我返回result来决定是否是更新或插入。 我在客户端查看n nModified 。 如果是更新nModified返回1,否则,如果它是一个插入,则返回0.除了result我想返回id字段。

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

但它没有工作。 我怎样才能返回一个参数更新查询?

你可以使用Underscore的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}); });