亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

node鏈接mongodb數據庫的方法詳解【阿里云服務器環境ubuntu】

2024-05-06 16:48:49
字體:
來源:轉載
供稿:網友

本文實例講述了node鏈接mongodb數據庫的方法。分享給大家供大家參考,具體如下:

一、安裝2.6版本以上的mongodb在云服務器上(百度就能查到安裝方法,以及驗證是否安裝成功一般是mongodb –version);

二、因為mongodb的默認開啟端口是27017,所以要在Ubuntu上開啟這個端口:

ufw allow 27017
ufw enable
ufw reload
ufw status //這是查看這個端口是否開啟,iptables --list也可以查看

光在服務器開了端口還不行,還要在阿里云服務器控制臺的安全組中添加這個端口:

node,mongodb,數據庫

三、在node項目中利用npm安裝mongodb:

npm i mongodb --save

四、鏈接的具體代碼(前提是已經建立了簡單的http或者https服務),具體代碼:

const http = require('http')  , https = require('https');const express = require('express');const bodyParser = require('body-parser')const app = express();const fs = require('fs');const ejs = require('ejs');const path = require('path');const MongoClient = require('mongodb').MongoClient;// 返回信息const questions = {  code: 200,  msg: 'success',};// https證書,開https服務的自驗證證書const options = {  key: fs.readFileSync('./privatekey.pem'),  cert: fs.readFileSync('./certificate.pem')};let xltitle = '標題(初始化數據)',  xlcontent = '內容(初始化數據)',  xlfaceid = '1(初始化數據)';const url = 'mongodb://127.0.0.1/xlbase';// 默認端口27017,無需填寫// 也可以修改端口,vim /etc/mongodb.conf// 初始化數據庫MongoClient.connect(url, function (err, db) {  if (err) throw err;  let database = db.db('xlbase');  console.log('------------數據庫初始化成功------------');// 如果沒有face這個集合,會創建一個,所以可以用這個來初始化集合  database.createCollection('face', function (err, res) {    if (err) throw err;    console.log('------------集合初始化完畢------------');    db.close();  });});//設置跨域訪問app.all('*', function (req, res, next) {  res.header("Access-Control-Allow-Origin", "*");  res.header("Access-Control-Allow-Headers", "X-Requested-With");  res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");  res.header("X-Powered-By", ' 3.2.1');  // res.header("Content-Type", "application/json;charset=utf-8");  next();});// parse application/x-www-form-urlencoded 解析app.use(bodyParser.urlencoded({extended: false}));// parse application/json 解析app.use(bodyParser.json());// view engine setup,視圖模版app.set('views', path.join(__dirname, './'));app.set('view engine', 'jade');// 靜態資源解析路徑(css,js,圖片等)app.use(express.static(path.join(__dirname, './static')));// 數據接收接口app.post('/info', function (req, res) {  res.header("Content-Type", "application/json;charset=utf-8");  res.status(200);  xltitle = req.body.title;  xlcontent = req.body.content;  xlfaceid = req.body.faceId;  let info = {    'faceid': xlfaceid,    'title': xltitle,    'content': xlcontent  };  let faceid = {    'faceid': xlfaceid  };  let updateInfo = {$set: info};// 組裝更新的信息  MongoClient.connect(url, function (err, db) {    let database = db.db('xlbase');    database.collection('face').find(faceid).toArray(function (err, result) {      if (err) throw err;      // 判斷集合中faceid和當前傳過來的faceid是否相同和存在      // 如果不存在就新插入這條數據      // 如果存在且相同,就更新數據      if (result.length !== 0 && result[0].faceid === xlfaceid) {        database.collection("face").updateOne(faceid, updateInfo, function (err, res) {          if (err) throw err;          console.log("------------數據更新成功------------");          db.close();        });      } else {        database.collection('face').insertOne(info, function (err, res) {          if (err) throw err;          console.log("------------數據添加成功------------");          db.close();        })      }    })  });  res.json(questions); // 返回信息  res.end(JSON.stringify(req.body, null, 2))});app.get('/index', function (req, res) {  res.status(200);  res.header("Content-Type", "text/html;charset=utf-8");// 根據faceId查詢數據  MongoClient.connect(url, function (err, db) {    if (err) throw err;    let dbo = db.db("xlbase");    let face = {"faceid": xlfaceid}; // 查詢條件    let xltitle1 = 404;    let xlcontent1 = '網頁出錯!';    dbo.collection("face").find(face).toArray(function (err, result) {      if (err) throw err;      console.log(result);      xltitle1 = result[0].title;      xlcontent1 = result[0].content;      db.close();      console.log('------------查詢完畢------------');      res.send('<h3 style="font-size: 35px">' + xltitle1 + '</h3>' +        '<pre style="white-space: pre-wrap;word-wrap: break-word;font-size: 30px">' + xlcontent1 + '</pre>');      res.end();    });  });})// 配置服務端口// http.createServer(app).listen(3001, function () {//   console.log('3001')// });process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; // 繞過證書驗證https.createServer(options, app).listen(8009, function () {  console.log('port: 8009');});// var server = app.listen(3001, function () {////   var host = server.address().address;////   var port = server.address().port;////   console.log('Example app listening at http://%s:%s', host, port);// })

希望本文所述對大家nodejs程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合老司机第九色激情| 国产精品视频专区| 久久久国产影院| 91网在线免费观看| 日韩精品中文字幕久久臀| 中文字幕日韩视频| 欧美激情综合亚洲一二区| 欧美在线观看网站| 欧美国产视频一区二区| 欧美三级欧美成人高清www| 国产丝袜一区二区三区免费视频| 日韩精品免费在线播放| 久久亚洲综合国产精品99麻豆精品福利| 91国产精品91| 国产精品专区一| 九色91av视频| 国产亚洲欧美另类中文| 亚洲男人天堂2019| 亚洲色图欧美制服丝袜另类第一页| 欧美激情视频在线| 午夜精品视频在线| 亚洲人成在线播放| 日本精品免费观看| 欧美日韩一区二区在线| 欧美激情在线播放| 欧美中文字幕在线观看| 国产精品夜间视频香蕉| 久久综合国产精品台湾中文娱乐网| 日韩美女视频在线观看| 91精品国产91久久久久久| 亚洲视频国产视频| 国产一区二区三区在线观看网站| 神马久久桃色视频| 国产精品日韩专区| 欧美日韩在线视频一区二区| 欧美日韩在线视频首页| 97不卡在线视频| 亚洲日本欧美日韩高观看| 久久精品国产v日韩v亚洲| 日韩国产一区三区| 亚洲xxx自由成熟| 91精品国产电影| 草民午夜欧美限制a级福利片| 在线观看视频99| 日本久久久久久久久| 91精品国产高清| 97久久超碰福利国产精品…| 国内精品久久久久影院优| 91沈先生在线观看| 亚洲免费人成在线视频观看| 久久免费高清视频| 日韩亚洲成人av在线| 亚洲人成毛片在线播放| 亚洲国产成人久久综合| 亚洲国产成人av在线| 成人在线激情视频| 91视频免费在线| 欧美极品少妇全裸体| 欧美日韩视频在线| 欧美精品久久久久久久久| 日韩免费不卡av| 亚洲欧美国产精品久久久久久久| 色综久久综合桃花网| 久久男人的天堂| 欧美日韩在线视频一区二区| 国产精品视频999| 欧美日韩在线视频一区二区| 麻豆乱码国产一区二区三区| 亚洲一区国产精品| 欧美性猛交xxxx免费看| 91精品啪aⅴ在线观看国产| 国产在线久久久| 精品久久久国产精品999| 欧美尤物巨大精品爽| 欧美精品在线视频观看| 日韩精品在线视频| 2019亚洲日韩新视频| 国产精品一区专区欧美日韩| 国产视频久久网| 欧美亚洲国产另类| 中日韩美女免费视频网站在线观看| 日韩精品在线影院| 亚洲第一福利视频| 日韩av在线高清| 亚洲国产精品资源| 国产热re99久久6国产精品| 国产精品久久久久久久久借妻| 精品激情国产视频| 亚洲伦理中文字幕| 97婷婷涩涩精品一区| 欧美在线日韩在线| 色综合伊人色综合网| 亚洲精品成人免费| 狠狠躁夜夜躁人人躁婷婷91| 国产精品2018| 欧美国产精品人人做人人爱| 亚洲人成网站999久久久综合| 欧美色道久久88综合亚洲精品| 欧美日韩激情视频| 国产免费久久av| 国产成人在线视频| 亚洲欧洲中文天堂| 欧美日韩xxxxx| 少妇精69xxtheporn| 这里只有精品在线播放| 欧美极品少妇xxxxⅹ裸体艺术| 成人激情综合网| 色综合天天狠天天透天天伊人| 亚洲xxxxx电影| 久久精品国产成人| 国产国语刺激对白av不卡| 精品人伦一区二区三区蜜桃网站| 欧美性猛交xxxx乱大交蜜桃| 中文字幕日韩综合av| 欧美日韩中文字幕| 18性欧美xxxⅹ性满足| 欧美精品在线免费观看| 26uuu久久噜噜噜噜| 亚洲影院高清在线| 国产一区二区视频在线观看| 欧美亚洲成人xxx| 亚洲欧洲日产国码av系列天堂| 欧美三级欧美成人高清www| 日韩精品免费在线播放| www高清在线视频日韩欧美| 国产亚洲欧美日韩精品| 亚洲国内精品视频| 欧美成年人视频网站欧美| 茄子视频成人在线| 中文字幕免费国产精品| 欧美成人三级视频网站| 8090成年在线看片午夜| 成人精品一区二区三区| 国产97在线播放| 欧美成年人在线观看| 亚洲国产精品久久91精品| 欧美日本黄视频| 久久天堂电影网| 国产精品午夜国产小视频| 欧美日韩一区二区三区在线免费观看| 97视频在线观看网址| 97免费中文视频在线观看| 疯狂做受xxxx高潮欧美日本| 亚洲精品久久在线| 久久久在线免费观看| 一区二区亚洲精品国产| 久久伊人精品一区二区三区| 另类视频在线观看| 日韩一区二区欧美| 国产精品老牛影院在线观看| 2021国产精品视频| 久久久影视精品| 97视频在线观看网址| 欧美日韩加勒比精品一区| 日本久久91av| 亚洲人成五月天| 97在线观看视频国产| 一区二区三区亚洲| 亚洲欧美中文在线视频| 亚洲激情中文字幕| 日韩电影中文字幕在线| 欧美性理论片在线观看片免费| 色偷偷av一区二区三区| 欧美日韩国产第一页|