首页 > 代码库 > mongoDB学习

mongoDB学习

"不知道为什么,就是想写一篇文章。。。"——某程序员

一直在说要学习mongoDB,前段时间终于学习了。今天刚好把mongo和nodeJS结合起来了,就写一篇文章总结一下。

先说一下mongoDB的安装,在mongo官网下载安装包(自行百度),或者在GitHub上面自行下载然后编译(过程省略。。。);

下载装好之后开始对mongoDB开始配置:

命令进入到mongoDB的安装目录,输入 mongod --dbpath 路径 --logpath 路径\*.log文件 --serviceName "服务名称" --install

解释一下上面命令的意思:

  mongod(mongod.exe)表示mongoDB服务

  --dbpath表示存放数据的文件

  --logpath表示存放日志的文件,后缀是.log

  --serviceName表示把mongodb添加到系统服务

  --install 开始安装

装好之后运行bin目录下的mongo.exe,然后就可以对数据库进行操作了。

以上步骤比较粗糙,网上都能找到,就不过多的阐述,下面就mongoDB结合nodeJS进行操作。

首先下一个mongo的包,npm命令: npm install mongodb,

然后是数据库的连接、数据的CRUD(增删查改)。

数据库连接

mongodb包里面有个MongoClient就是mongoDB的实例,所以用MongoClient.connect(url,cb);

在这里url就是你mongoDB的集合,cb就是回调函数。

url一般都是mongodb://127.0.0.1:27017/集合名

在回调函数里面进行CRUD操作

增加操作

var insertData = http://www.mamicode.com/function(db, data, cb) {    var collection = db.collection("myMongo");    collection.insert(data, function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}

 

删除操作

var removeData = http://www.mamicode.com/function(db, data, cb) {    var collection = db.collection("myMongo");    collection.remove(data, function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}

查询操作

var findData = http://www.mamicode.com/function(db, data, cb) {    var collection = db.collection("myMongo");    collection.find(data).toArray(function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}

修改操作

var updateData = http://www.mamicode.com/function(db, data, updateDate, cb) {    var collection = db.collection("myMongo");    collection.update(data, updateDate, function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}

以上写得比较模糊,除了查询操作以外,其实代码都差不多,查询数据需要把查询得到的数据toArray。

写得比较杂乱无章,最后贴上完整代码:

var MongoClient = require(‘mongodb‘).MongoClient;var url = ‘mongodb://127.0.0.1:27017/myMongo‘;//数据库连接MongoClient.connect(url, function(err, db) {    if (err) throw err;    console.log(‘数据库连接成功。。。‘);    var data =http://www.mamicode.com/ [{        "name": "test3",        "age": 23    }, {        "name": "test4",        "age": 24    }];    var data1 = {        "age": 21    }    var data2 = {        "age": 22    }    var data3 = {        "name": "andy",        "age": 30    }    insertData(db, data, function(res) {        console.log(res);        db.close();    })    removeData(db, data1, function(res) {        console.log(res)        db.close();    })    findData(db, data2, function(res) {        console.log(res)        db.close();    })    updateData(db, data1, data3, function(res) {        console.log(res);        db.close();    })})//插入数据var insertData = http://www.mamicode.com/function(db, data, cb) {    var collection = db.collection("myMongo");    collection.insert(data, function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}//删除数据var removeData = http://www.mamicode.com/function(db, data, cb) {    var collection = db.collection("myMongo");    collection.remove(data, function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}//查询数据var findData = http://www.mamicode.com/function(db, data, cb) {    var collection = db.collection("myMongo");    collection.find(data).toArray(function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}//修改数据var updateData = http://www.mamicode.com/function(db, data, updateDate, cb) {    var collection = db.collection("myMongo");    collection.update(data, updateDate, function(err, res) {        if (err) {            console.log("Error:" + err);            return;        }        cb(res);    })}

以上全为个人总结,纯原创内容,转载请注明,谢谢。

 

mongoDB学习