节点链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】

  

本文实例讲述了节点链接mongodb数据库的方法。分享给大家供大家参考,具体如下:

  

一、安装2.6版本以上的mongodb在云服务器上(百度就能查到安装方法,以及验证是否安装成功一般是mongodb - version),

  

二,因为mongodb的默认开启端口是27017年,所以要在Ubuntu上开启这个端口:

  
  

地头允许27017
  查维斯使
  查维斯重载
  查维斯状态//这是查看这个端口是否开启,iptables -列表也可以查看

     

光在服务器开了端口还不行,还要在阿里云服务器控制台的安全组中添加这个端口:

  

节点链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】“> </p>
  <p>三,在节点项目中利用npm安装mongodb: </p>
  
  <pre类=   npm我mongodb——保存      之前      

四、链接的具体代码(前提是已经建立了简单的http或https者服务),具体代码:

        const http=要求(“http”)   https=要求(“https”);   const表达=要求(“表达”);   const bodyParser=要求(体)   const应用=表达();   const fs=要求(fs);   const ejs=要求(“ejs”);   const path=要求(“路径”);   const MongoClient=要求(mongodb) .MongoClient;//返回信息   常量的问题={   代码:200,   味精:“成功”,   };//https证书,开https服务的自验证证书   const选项={   关键:fs.readFileSync (’。/privatekey.pem '),   证书:fs.readFileSync (“/certificate.pem。”)   };   让xltitle='标题(初始化数据)”,   xlcontent='内容(初始化数据)”,   xlfaceid=' 1(初始化数据)”;   const url=' mongodb://127.0.0.1/xlbase ';   27017年//默认端口,无需填写//也可以修改端口,vim/etc/mongodb.conf//初始化数据库   MongoClient。连接(url,函数(呃,db) {   如果(err)把犯错;   让数据库=db.db (“xlbase”);   console.log(' - - - - - - - - - - - -数据库初始化成功- - - - - - - - - - - -”);//如果没有面对这个集合,会创建一个,所以可以用这个来初始化集合   数据库。createCollection(“脸”,函数(呃,res) {   如果(err)把犯错;   console.log(' - - - - - - - - - - - -集合初始化完毕- - - - - - - - - - - -”);   db.close ();   });   });//设置跨域访问   app.all(‘*’,函数(下)要求,res, {   res.header (“Access-Control-Allow-Origin”、“*”);   res.header (“Access-Control-Allow-Headers”、“X-Requested-With”);   res.header (“Access-Control-Allow-Methods”、“PUT、POST、GET、删除选项”);   res.header (“X-Powered-By”、“3.2.1”);//res.header(“内容类型”、“application/json; charset=utf - 8”);   next ();   });//解析应用程序/x-www-form-urlencoded解析   app.use (bodyParser。urlencoded({扩展:假}));//application/json解析解析   app.use (bodyParser.json ());//视图引擎设置,视图模版   app.set(“视图”,路径。加入(__dirname '/'));   app.set(“视图引擎”、“玉”);//静态资源解析路径(css, js,图片等)   app.use (express.static(路径。加入(__dirname’。/静态')));//数据接收接口   app.post(/信息,函数(点播,res) {   res.header(“内容类型”、“application/json; charset=utf - 8”);   res.status (200);   xltitle=req.body.title;   xlcontent=req.body.content;   xlfaceid=req.body.faceId;   让信息={   “faceid”: xlfaceid,   “标题”:xltitle,   “内容”:xlcontent   };   让faceid={   “faceid”: xlfaceid   };   让updateInfo={$组:信息};//组装更新的信息   MongoClient。连接(url,函数(呃,db) {   让数据库=db.db (“xlbase”);   database.collection('脸');(faceid)。toArray(函数(呃,结果){   如果(err)把犯错;//判断集合中faceid和当前传过来的faceid是否相同和存在//如果不存在就新插入这条数据//如果存在且相同,就更新数据   如果结果。长度!==0,,结果[0]。faceid===xlfaceid) {   database.collection(“面子”)。updateOne (faceid updateInfo,函数(呃,res) {   如果(err)把犯错;   console.log(“- - - - - - - - - - - -数据更新成功- - - - - - - - - - - -”);   db.close ();   });   其他}{   database.collection(“脸”)。insertOne(信息、功能(呃,res) {   如果(err)把犯错;   console.log(“- - - - - - - - - - - -数据添加成功- - - - - - - - - - - -”);   db.close ();   })   }   })   });   res.json(问题);//返回信息   res.end (JSON.stringify(点播。身体,null, 2))   });   app.get(/索引,函数(点播,res) {   res.status (200);   res.header(“内容类型”、“text/html; charset=utf - 8”);//根据faceId查询数据   MongoClient。连接(url,函数(呃,db) {   如果(err)把犯错;   让dbo=db.db (“xlbase”);   让脸={“faceid”: xlfaceid};//查询条件   让xltitle1=404;   让xlcontent1='网页出错!”;   dbo.collection(“面子”);(脸)。toArray(函数(呃,结果){   如果(err)把犯错;   console.log(结果);   [0].title xltitle1=结果;   [0].content xlcontent1=结果;   db.close ();   console.log(' - - - - - - - - - - - -查询完毕- - - - - - - - - - - -”);   res.send (' & lt; h4祝辞' + xltitle1 + + & lt;/h4>   ”& lt;前比,“+ xlcontent1 + & lt;/pre>);   res.end ();   });   });   })//配置服务端口//http.createServer(应用程序)。听(3001年,函数(){//console.log (“3001”)//});   process.env。NODE_TLS_REJECT_UNAUTHORIZED=" 0 ";//绕过证书验证   https。createServer(选项,程序)。听(8009年,函数(){   控制台。日志(端口:8009);   });//var服务器=app.listen(3001年,函数(){////var主机=server.address () .address;////var端口=server.address () .port;////控制台。日志(示例应用倾听http://%s: % s的,主机、端口);//})      

节点链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】