Node.js中使用MongoDB

來源:互聯網
上載者:User

標籤:

  MongoDB是一個通用型的NoSQL,在很多地方得到了廣泛的應用。接下來我們看如何在Node.js中使用MongoDB資料庫。

  1、環境安裝

    首先從MongoDB官網中下載、安裝,配置好環境變數,保證mongod命令可以順利啟動。然後利用npm install mongodb安裝MongoDB模組。

  2、啟動資料庫

    我們在命令列輸入mongod命令,啟動資料庫。MongoDB預設綁定連接埠27017,要防止其他應用佔用了這個連接埠,導致資料庫無法啟動。當資料庫成功啟動後,會出現OK提示,如所示:

 

    然後我們可以輸入mongo命令,就可以在命令列中對資料庫進行操作。

  3、插入操作

    啟動資料庫後,我們先編寫插入操作。

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) {    if (err) throw err;        client.collection(‘test_insert‘, function(err, collection) {        if (err) throw err;        collection.insert(            {                "title": "I like cake",                "body": "It is quite good."            },            {safe: true},            function(err, documents) {                if (err) throw err;                //console.log(‘Document ID is: ‘ + documents[0]._id);            }        );        console.log(‘We are now able to perform queries.‘);    });});

  

    為了檢驗資料是否真的被插入資料庫,我們在命令列執行如下操作(得先輸入mongo命令):

  

 

     可以看到,資料確實被插入到資料庫mydatabase的test_insert集合中。

 

  4、查詢操作

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) {    if (err) throw err;        client.collection(‘test_insert‘, function(err, collection) {        if (err) throw err;        collection.find({"title": "I like cake"}).toArray(            function(err, results) {                if (err) throw err;                console.log(results);            }        );    });});

    運行上面的代碼,得到的結果如下:

    

    可以看出,這正是我們插入的資料。

 

  5、更新操作

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) {    if (err) throw err;        client.collection(‘test_insert‘, function(err, collection) {        if (err) throw err;        collection.update({"title": "I like cake"},            {$set: {"body": "It is so bad"}},            {safe: true},            function(err) {                if (err) throw err;            }        );    });});

    運行上面的代碼,結果如下:

    

    可以看到,文檔的body已經被更新。

 

  6、刪除操作

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘127.0.0.1‘, 27017, {});var client = new mongodb.Db(‘mydatabase‘, server, {w: 1});client.open(function(err) {    if (err) throw err;        client.collection(‘test_insert‘, function(err, collection) {        if (err) throw err;        collection.remove({"title": "I like cake"},            {safe: true},            function(err) {                if (err) throw err;            }        );    });});

    運行代碼後,結果如下:

  

    文檔被刪除。

Node.js中使用MongoDB

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.