在nodeJS中使用mongoDB作为数据库我们一般使用第三方中间件作为连接的方式,在npm中往往有mongodb,mongo-connect,以及mongoose等诸多中间件。这篇文章主要介绍的就是mongoDB官方出的mongodb驱动作为Node中间件如何实现对数据进行基本的增删改查功能。
系统:ubuntu 16.04 mongo版本:3.2.0 mongodb中间件版本:2.2.12
那个啥下载安装mongoDB就不多介绍了。
首先,我们启动mongoDB,在启动之前我们首先要创建一个文件夹用于储存数据库数据,我就假设在根目录的/data;
好了,在shell中输入命令行:
mongod --dbpath = /data --port 27017
一般情况,启动成功之后就会看到输出一堆状态信息。
创建一个文件夹,照着node的套路,还是package.json
{
mongodb:"*"
}
然后
npm install
安装mongodb中间件,在文件夹中创建一个mongo.js作为一个演示文件
var MongoClient = require('mongodb').MongoClient
//引入mongodb的客户端模块
var url = 'mongodb://localhost:27017/myproject';
//你的数据库名称就叫做myproject
MongoClient.connect(url, function(err, db) { //连接吧,少年
console.log("Connected correctly to server"); //连接成功
db.close(); //关闭数据库
});
var insertDocuments = function(db, callback) {
var collection = db.collection('documents');
collection.insertMany([
{a : 1}, {a : 2}, {a : 3}
], function(err, result) {
console.log("插入三个对象");
callback(result);
});
}
var updateDocument = function(db, callback) {
var collection = db.collection('documents');
collection.updateOne({ a : 2 }
, { $set: { b : 1 } }, function(err, result) {
console.log("找到{a:2},用{b:1}替换");
callback(result);
});
}
var deleteDocument = function(db, callback) {
var collection = db.collection('documents');
collection.deleteOne({ a : 3 }, function(err, result) {
console.log("把a:3删掉");
callback(result);
});
}
var findDocuments = function(db, callback) {
var collection = db.collection('documents');
collection.find({}).toArray(function(err, docs) {
console.log("查询所有的数据库documents集合里的数据");
callback(docs);
});
}
好了,就这么简单。