欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

node.js中怎么連接MongoDB數(shù)據(jù)庫(kù)-創(chuàng)新互聯(lián)

今天就跟大家聊聊有關(guān)node.js中怎么連接MongoDB數(shù)據(jù)庫(kù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),彭水苗族土家族網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:彭水苗族土家族等地區(qū)。彭水苗族土家族做網(wǎng)站價(jià)格咨詢(xún):18980820575

1、通過(guò)client對(duì)象連接到MongoDB

通過(guò)實(shí)例化一個(gè)MongoClient對(duì)象連接MongoDB數(shù)據(jù)庫(kù)是最常用也是最佳的方式。

創(chuàng)建MongoClient對(duì)象實(shí)例的語(yǔ)法:

MongoClient( server, options );

server : 一個(gè)serverd對(duì)象;
options : 數(shù)據(jù)庫(kù)連接選項(xiàng);

node.js中怎么連接MongoDB數(shù)據(jù)庫(kù)

如上圖所示,MongoClient連接利用了后臺(tái)的Server對(duì)象。這個(gè)對(duì)象的功能就是定義了MongoDB驅(qū)動(dòng)程序怎么連接到服務(wù)器。

下面,看一個(gè)示例:

var MongoClient = require('mongodb').MongoClient, 
 Server  = require('mongodb').server;

// 創(chuàng)建客戶(hù)端連接對(duì)象
var client = new MongoClient( new Server('localhost', 27017, {
           socketOpations: { connectTimeoutMS: 500 },
           poolSize: 5,
           auto_reconnect: true
          }, {
           numberOfRetries: 3,
           retryMilliSeconds: 500
          }));

// 打開(kāi)對(duì)服務(wù)器端MongoDB數(shù)據(jù)庫(kù)的連接
client.open(function(err, client) {
 if ( err ) {
  console.log('連接失?。?#39;);
 } else {
  var db = client.db('blogdb'); // 建立到數(shù)據(jù)庫(kù)blogdb的連接
  if ( db ) {
   console.log('連接成功');
   db.authenticate('username', 'pwd', function(err, result) { // 對(duì)用戶(hù)數(shù)據(jù)庫(kù)身份進(jìn)行驗(yàn)證
    if ( err ) {
     console.log('數(shù)據(jù)庫(kù)用戶(hù)身份驗(yàn)證失敗');
     client.close(); // 關(guān)閉對(duì)MongoDB的連接
     console.log('連接已關(guān)閉......');
    } else {
     console.log('用戶(hù)身份驗(yàn)證通過(guò)');
     db.logout(function (err, result) { // 關(guān)閉對(duì)數(shù)據(jù)庫(kù)的連接,即退出數(shù)據(jù)庫(kù)
      if ( !err ) {
       console.log('退出數(shù)據(jù)庫(kù)出錯(cuò)');
      }

      client.close(); // 關(guān)閉對(duì)MongoDB的連接
      console.log( '已關(guān)閉連接......' );
     });
    }
   });
  }
 }
});

注意:要注銷(xiāo)數(shù)據(jù)庫(kù),要使用數(shù)據(jù)庫(kù)對(duì)象上的logout()方法。這將關(guān)閉到該數(shù)據(jù)庫(kù)上的連接,你不在可以使用Db對(duì)象。例如:db.logout();而要關(guān)閉到MongoDB的連接,要在客戶(hù)端連接上調(diào)用close()方法,例如:client.close()

寫(xiě)入關(guān)注

首先,我們?cè)谶B接數(shù)據(jù)庫(kù)的時(shí)候會(huì)用到一個(gè)關(guān)于寫(xiě)入關(guān)注級(jí)別的問(wèn)題,說(shuō)白了,個(gè)人理解的話(huà)就是相當(dāng)于出現(xiàn)問(wèn)題的一個(gè)處理優(yōu)先順序,你可以選擇寫(xiě)入數(shù)據(jù)庫(kù)之前是否需要你確認(rèn)之類(lèi)的,或者發(fā)生錯(cuò)誤是否忽略之類(lèi)的等等,如下圖:

寫(xiě) 入 級(jí) 別說(shuō) 明
-1網(wǎng)絡(luò)錯(cuò)誤被忽略
0寫(xiě)確認(rèn)是不必要的
1請(qǐng)求寫(xiě)確認(rèn)
2寫(xiě)確認(rèn)請(qǐng)求跨主服務(wù)器和副本集中的一個(gè)輔助服務(wù)器
majority寫(xiě)確認(rèn)是從副本集的主服務(wù)器請(qǐng)求的

用來(lái)創(chuàng)建MongoClient連接的Server對(duì)象的選項(xiàng),如下:

node.js中怎么連接MongoDB數(shù)據(jù)庫(kù)

用來(lái)創(chuàng)建MongoClient連接的數(shù)據(jù)庫(kù)連接選項(xiàng),如下:

node.js中怎么連接MongoDB數(shù)據(jù)庫(kù)

2、通過(guò)一個(gè)連接字符串連接到MongoDB

這種方式要調(diào)用MongoClient類(lèi)的connect( )方法。connect使用語(yǔ)法如下:

MongoClient.connect(connString, options, callback)

connString字符串的語(yǔ)法如下:

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

MongoClient連接字符串組件:

選 項(xiàng)說(shuō) 明
mongodb://指定字符串使用mongodb的連接格式
username驗(yàn)證時(shí)使用的用戶(hù)名。可選
password身份驗(yàn)證時(shí)使用的密碼。可選
hostMongoDB服務(wù)器主機(jī)名或者域名。它可以是多個(gè)host:port組合來(lái)連接多個(gè)MongoDB服務(wù)器。 例如:mongodb://host1:270017, host2://270017, host3:270017/testDB
port連接MongoDB服務(wù)器時(shí)使用的端口。默認(rèn)值是27017
database要連接的數(shù)據(jù)庫(kù)的名字。 默認(rèn)為admin
options連接時(shí)所使用的選項(xiàng)的鍵值對(duì)。可以在dbOpt和serverOpt參數(shù)上指定這些選項(xiàng)

下面,看一個(gè)使用連接字符串方法連接MongoDB數(shù)據(jù)庫(kù)的示例:

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('連接成功!');
       // 注銷(xiāo)數(shù)據(jù)庫(kù)
       db.logout(function(err, result) {
        if ( err ) {
         console.log('注銷(xiāo)失敗...');
        }

        db.close(); // 關(guān)閉連接
        console.log('連接已經(jīng)關(guān)閉!');
       });
      }

});

看完上述內(nèi)容,你們對(duì)node.js中怎么連接MongoDB數(shù)據(jù)庫(kù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

分享名稱(chēng):node.js中怎么連接MongoDB數(shù)據(jù)庫(kù)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://chinadenli.net/article18/dhpjgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站制作、標(biāo)簽優(yōu)化網(wǎng)站收錄、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)