首页 > 代码库 > 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学习