mongoDB

什么是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) => {}

其他和查询一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值