繁体   English   中英

使用Node.js和MongoDB更新文档后如何获取对象ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM