[英]How to get Object ID after update the document using Node.js and MongoDB
我正在使用Node.js更新我的文档,更新后需要获取该文档ID。 我的代码如下:
var udata={
name:name,
company:company,
position:position,
mobile:mobile,
email: email,
landline: landline,
url:url,
postcode:postcode,
address:address,
profiletext:profiletext,
biography:biography,
updated_date:updateDate,
file:file
}
db.f_card_details.update({userid:userid},{$set:udata},function(error,docum){
if (!error) {
if (docum) {
console.log('document',docum);
var edata=[{"id": docum._id}];
var data={"statusCode": 200,"data":edata ,"message": "Your card details has been updated successfully"};
res.send(data);
}
}else{
var data={"statusCode": 404,"error": "Not Found","message": "Your card details could not updated"};
res.send(data);
}
})
在这里,更新后我没有得到那个文档object id
。
来自mongodb.com的此链接 -
“ update()方法返回一个包含操作状态的WriteResult对象。成功后,该WriteResult对象将包含与查询条件匹配的文档数,更新插入的文档数以及已修改的文档数。 :
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
“
尝试使用findOneAndUpdate
它将返回旧文档,但是您可以设置returnNewDocument : true
标志以使其返回新文档。
因此,您的代码将类似于:
db.f_card_details.findOneAndUpdate({userid:userid},{$set:udata},function(error,docum){
console.log(docum._id);
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.