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

首頁 > 編程 > JavaScript > 正文

node.js連接MongoDB數據庫的2種方法教程

2019-11-19 16:34:07
字體:
來源:轉載
供稿:網友

前言

MongoDB Node.js驅動程序是被官方所支持的原生node.js驅動程序,他是至今為止最好的實現, 并且得到了MongoDB官方的支持。MongoDB團隊已經采用MongoDB Node.js驅動程序作為標準方法。

npm install mongodb@1.4.3  // MongoDB Node.js驅動程序npm install mongoose@3.8.8 //mongoose模塊

要從Node.js連接MongoDB數據庫我們有兩種方法可選擇:

  • 通過實例化mongodb模塊中提供的mongodbClient類,然后使用這個實例化的對象來創建和管理mongodb連接;
  • 使用字符串進行連接;

1、通過client對象連接到MongoDB

通過實例化一個MongoClient對象連接MongoDB數據庫是最常用也是最佳的方式。

創建MongoClient對象實例的語法:

MongoClient( server, options );

server : 一個serverd對象;
options : 數據庫連接選項;

如上圖所示,MongoClient連接利用了后臺的Server對象。這個對象的功能就是定義了MongoDB驅動程序怎么連接到服務器。

下面,看一個示例:

var MongoClient = require('mongodb').MongoClient,  Server  = require('mongodb').server;// 創建客戶端連接對象var client = new MongoClient( new Server('localhost', 27017, {           socketOpations: { connectTimeoutMS: 500 },           poolSize: 5,           auto_reconnect: true          }, {           numberOfRetries: 3,           retryMilliSeconds: 500          }));// 打開對服務器端MongoDB數據庫的連接client.open(function(err, client) { if ( err ) {  console.log('連接失??!'); } else {  var db = client.db('blogdb'); // 建立到數據庫blogdb的連接  if ( db ) {   console.log('連接成功');   db.authenticate('username', 'pwd', function(err, result) { // 對用戶數據庫身份進行驗證    if ( err ) {     console.log('數據庫用戶身份驗證失敗');     client.close(); // 關閉對MongoDB的連接     console.log('連接已關閉......');    } else {     console.log('用戶身份驗證通過');     db.logout(function (err, result) { // 關閉對數據庫的連接,即退出數據庫      if ( !err ) {       console.log('退出數據庫出錯');      }      client.close(); // 關閉對MongoDB的連接      console.log( '已關閉連接......' );     });    }   });  } }});

注意: 要注銷數據庫,要使用數據庫對象上的logout()方法。這將關閉到該數據庫上的連接,你不在可以使用Db對象。例如: db.logout();而要關閉到MongoDB的連接,要在客戶端連接上調用close()方法,例如: client.close() 。

寫入關注

首先,我們在連接數據庫的時候會用到一個關于寫入關注級別的問題,說白了,個人理解的話就是相當于出現問題的一個處理優先順序,你可以選擇寫入數據庫之前是否需要你確認之類的,或者發生錯誤是否忽略之類的等等,如下圖:

寫 入 級 別 說 明
-1 網絡錯誤被忽略
0 寫確認是不必要的
1 請求寫確認
2 寫確認請求跨主服務器和副本集中的一個輔助服務器
majority 寫確認是從副本集的主服務器請求的

用來創建MongoClient連接的Server對象的選項,如下:

用來創建MongoClient連接的數據庫連接選項,如下:

2、通過一個連接字符串連接到MongoDB

這種方式要調用MongoClient類的connect( )方法。connect使用語法如下:

MongoClient.connect(connString, options, callback)

connString字符串的語法如下:

mongodb://username:password@host:port/database?opations

MongoClient連接字符串組件:

選 項 說 明
mongodb:// 指定字符串使用mongodb的連接格式
username 驗證時使用的用戶名。可選
password 身份驗證時使用的密碼??蛇x
host MongoDB服務器主機名或者域名。它可以是多個host:port組合來連接多個MongoDB服務器。 例如:mongodb://host1:270017, host2://270017, host3:270017/testDB
port 連接MongoDB服務器時使用的端口。默認值是27017
database 要連接的數據庫的名字。 默認為admin
options 連接時所使用的選項的鍵值對??梢栽赿bOpt和serverOpt參數上指定這些選項

下面,看一個使用連接字符串方法連接MongoDB數據庫的示例:

var MongoClient = require('mongodb').MongoClient;MongoClient.connect('mongodb://mongodb:test@localhost:27017/blogdb', {      db: { w: 1, native_parser: false },      server: {       poolSize: 5,       socketOpations: { connectTimeoutMS: 500 },       auto_reconnect: true      },      replSet: {},      mongos: {}     }, function(err, db) {      if ( err ) {       console.log('連接失?。?);      } else {       console.log('連接成功!');       // 注銷數據庫       db.logout(function(err, result) {        if ( err ) {         console.log('注銷失敗...');        }        db.close(); // 關閉連接        console.log('連接已經關閉!');       });      }});

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
秋霞av国产精品一区| 国产亚洲精品美女久久久| 最好看的2019的中文字幕视频| 日韩大片免费观看视频播放| 亚洲剧情一区二区| 成人春色激情网| 亚洲国产成人精品久久久国产成人一区| 日韩精品在线观看一区| 欧美性猛交丰臀xxxxx网站| 中文字幕综合在线| 欧美亚洲另类制服自拍| 欧美激情第6页| 亚洲成人精品视频| 国产精品成人免费电影| 国产精品中文字幕在线| 91在线观看免费高清完整版在线观看| 国产成人精品免费久久久久| 精品久久久久久电影| 91在线|亚洲| 欧美高清视频一区二区| 国产情人节一区| 在线观看精品国产视频| 91在线免费看网站| 日韩av一区二区在线| 日韩亚洲欧美中文高清在线| 自拍偷拍免费精品| 久久亚洲电影天堂| 91久久久久久久一区二区| 欧美激情一区二区久久久| 亚洲国产精品久久精品怡红院| 久久精品国产成人精品| 欧美一级在线播放| 中国人与牲禽动交精品| 国产脚交av在线一区二区| 日韩女优在线播放| 国产精品亚洲аv天堂网| 中文字幕亚洲无线码a| 午夜精品久久久99热福利| 欧美国产日韩一区二区在线观看| 久久久999成人| 亚洲综合中文字幕在线观看| 亚洲黄色有码视频| 日韩网站免费观看高清| 日韩av色在线| 久久久免费av| 亚洲视频一区二区三区| 久久人91精品久久久久久不卡| 亚洲福利视频专区| 国产aaa精品| 日韩视频免费大全中文字幕| 欧美极品少妇xxxxⅹ免费视频| 国内精品美女av在线播放| 精品亚洲精品福利线在观看| 97精品视频在线观看| 欧美在线不卡区| 91探花福利精品国产自产在线| 日韩欧美在线国产| 国产成人一区二区三区| 国产免费一区二区三区在线能观看| 欧美精品videos| 久久男人资源视频| 91av在线免费观看| 日韩精品在线免费观看视频| 欧美在线播放视频| 亚洲视频在线视频| 久久精品影视伊人网| 亚洲美女在线视频| 狠狠久久亚洲欧美专区| 亚洲最大中文字幕| 亚洲久久久久久久久久| 亚洲最大的免费| 亚洲精品美女久久| 日本人成精品视频在线| 国产精品成人一区| xvideos成人免费中文版| 亚洲在线一区二区| 2019av中文字幕| 日韩女优人人人人射在线视频| 国产成人免费91av在线| 亚洲丝袜一区在线| 国产精品精品视频一区二区三区| 国产精品香蕉在线观看| 影音先锋日韩有码| 亚洲视频精品在线| 国产亚洲美女精品久久久| 国产成人+综合亚洲+天堂| 欧美人与性动交| 91高清免费在线观看| 亚洲精品欧美日韩专区| 97色在线视频| 国产丝袜视频一区| 亚洲国产精品99久久| 成人精品aaaa网站| 欧美猛男性生活免费| 久久亚洲私人国产精品va| 久久精品91久久香蕉加勒比| 欧美人在线观看| 久久夜色精品国产亚洲aⅴ| 国产美女搞久久| 国产日韩av在线| 日本不卡高字幕在线2019| 狠狠躁夜夜躁人人躁婷婷91| 日韩精品视频免费在线观看| 中文字幕欧美日韩| 欧美激情精品久久久久久| 97精品国产aⅴ7777| 欧美整片在线观看| 18一19gay欧美视频网站| 国产精品久久久久久av| 北条麻妃一区二区在线观看| 欧美激情小视频| 亚洲变态欧美另类捆绑| 欧洲成人免费aa| 91天堂在线观看| 精品中文字幕久久久久久| 日韩av综合中文字幕| 亚洲国产欧美自拍| 国产精品免费看久久久香蕉| 日韩av免费观影| 国产成人亚洲综合91| 成人免费福利在线| 久操成人在线视频| 亚洲欧美变态国产另类| 欧美性videos高清精品| 久久久女女女女999久久| 26uuu另类亚洲欧美日本一| 色哟哟网站入口亚洲精品| 亚洲精品一区二区三区婷婷月| 深夜福利国产精品| 亚洲综合一区二区不卡| 欧美日韩国产黄| 国产偷国产偷亚洲清高网站| 欧日韩在线观看| 欧美福利视频在线| 欧美另类69精品久久久久9999| 中文字幕久久久av一区| 久久亚洲精品一区二区| 精品欧美激情精品一区| 欧美裸体视频网站| 欧美极品美女电影一区| 国产精品久久77777| 久久成人国产精品| 亚洲二区在线播放视频| 亚洲91精品在线| 亚洲国产精品久久久久久| 久久久久亚洲精品国产| 亚洲自拍偷拍区| 久久九九国产精品怡红院| 精品国产一区二区三区久久久| 最近日韩中文字幕中文| 少妇高潮久久久久久潘金莲| 精品成人乱色一区二区| 日本电影亚洲天堂| 97精品久久久中文字幕免费| 欧美亚洲另类制服自拍| 26uuu久久噜噜噜噜| 国产一区二区黑人欧美xxxx| 国产精品老女人精品视频| 久久国产精品免费视频| 日韩不卡在线观看| 国产欧美一区二区三区视频| 久久久日本电影| 正在播放亚洲1区| 免费91麻豆精品国产自产在线观看|