Javascript 使用mongoDB和node.js更新文档时出错

Javascript 使用mongoDB和node.js更新文档时出错,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,在使用MongoDB和Node.js更新文档时,我遇到以下错误 错误: TypeError: db.profile.updateOne is not a function at exports.updateProfile (C:\xampp\htdocs\cit_node\route\route.js:101:13) at Layer.handle [as handle_request] (C:\xampp\htdocs\cit_node\node_modules\e xpres

在使用MongoDB和Node.js更新文档时,我遇到以下错误

错误:

TypeError: db.profile.updateOne is not a function
    at exports.updateProfile (C:\xampp\htdocs\cit_node\route\route.js:101:13)
    at Layer.handle [as handle_request] (C:\xampp\htdocs\cit_node\node_modules\e
xpress\lib\router\layer.js:95:5)
    at next (C:\xampp\htdocs\cit_node\node_modules\express\lib\router\route.js:1
31:13)
    at Route.dispatch (C:\xampp\htdocs\cit_node\node_modules\express\lib\router\
route.js:112:3)
    at Layer.handle [as handle_request] (C:\xampp\htdocs\cit_node\node_modules\e
xpress\lib\router\layer.js:95:5)
    at C:\xampp\htdocs\cit_node\node_modules\express\lib\router\index.js:277:22
    at Function.process_params (C:\xampp\htdocs\cit_node\node_modules\express\li
b\router\index.js:330:12)
    at next (C:\xampp\htdocs\cit_node\node_modules\express\lib\router\index.js:2
71:10)
    at Immediate.<anonymous> (C:\xampp\htdocs\cit_node\node_modules\express-sess
ion\index.js:433:7)
    at Immediate.immediate._onImmediate (timers.js:425:18)

我正在跟踪更新记录。请帮助我解决此错误。

您需要访问数据库对象,然后访问配置文件集合的集合对象。一种方法是在名为db.js的文件中建立连接,然后导出其他脚本可能“需要”的db对象,或者另一种方法是让updateProfile函数接受db或collection对象作为函数中的参数。发生错误是因为对象不具有您认为它具有的属性

exports.updateProfile=function(req,res){
    var colg_name=req.body.colg_name;
    var colg_shname=req.body.colg_shname;
    var address=req.body.address;
    var cont_no=req.body.cont_no;
    var email=req.body.email;
    var id=req.body.id;
    db.profile.updateOne({_id:db.ObjectId(id)},{$set:{colgname:colg_name,colgSname:colg_shname,address:address,contno:cont_no,email:email}},function(err,docs){
        if(!err){
            if(docs){
                res.send("Profile has updated suceessfully");
            }
        }
        if(err){
            res.send("Profile could not updated suceessfully");
        }
    });
}