码迷,mamicode.com
首页 > 数据库 > 详细

Node.js中使用MongoDB

时间:2016-10-07 17:44:50      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

  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

标签:

原文地址:http://www.cnblogs.com/xfshen/p/5936151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!