什么是MongoDB ?
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
用命令窗口创建mongodb数据网上有很多博客,这里就不写了
有node.js创建数据
打开mongodb
mongod --dbpath 数据要放的文件夹位置
要下载mongodb的模块
使用mongodb
const MongoClient = require("mongodb").MongoClient;
因为许多地方都要用到,封装成DAO层
const MongoClient = require("mongodb").MongoClient;
function _connectFun(callback) {
const sqlUrl = "mongodb://127.0.0.1:27017/administration";
MongoClient.connect(sqlUrl, (err, db) => {
if (err) {
callback(err, null);
return;
}
callback(err, db);
})
}
//添加
exports.insertFun = function (collectionName, objData, callback) {
_connectFun(function (err, db) {
db.collection(collectionName).insertOne(objData, (err, result) => {
callback(err, result);
db.close();
})
})
}
//删除
exports.deleteFun = function (collectionName, objData, callback) {
_connectFun(function (err, db) {
db.collection(collectionName).deleteOne(objData, (err, result) => {
callback(err, result);
db.close();
})
});
}
//修改
exports.updateFun = function (collectionName, objDataO, objDataT, callback) {
_connectFun(function (err, db) {
db.collection(collectionName).updateOne(objDataO, objDataT, (err, result) => {
callback(err, result);
db.close();
})
});
}
//排序
// exports.sortFun = function (collectionName, objData, callback) {
// _connectFun(function (err, db) {
// db.collection(collectionName).find(objData).each((err, result) => {
// callback(err, result);
// db.close();
// })
// });
// }
//查询
exports.selectFun = function (collectionName, objData, indexO, indexT) {
let limitnum = 0;
let skipnum = 0;
let callback;
if (arguments.length == 3) {
callback = indexO;
} else if (arguments.length == 4) {
limitnum = indexO["limit"];//当前第几页
skipnum = indexO["skip"];//过滤多少条
callback = indexT;
} else {
throw new Error("参数必须为three or four");
}
const result = [];//存放查询数据
_connectFun(function (err, db) {
db.collection(collectionName).find(objData).limit(limitnum).skip(skipnum * limitnum).each((err, document) => {
if (err) {
callback(err, null);
db.close();
return;
}
if (document != null) {
result.push(document);
} else {
callback(null, result);
db.close();
}
});
})
}
调用
const db = require("./sqltype.js");//数据库
例:查询
db.selectFun("collectionName", {}, (err, result) => {}
其他和查询一样