zoukankan      html  css  js  c++  java
  • 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 = 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 = 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 = 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 = 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 = [{
            "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 = 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 = 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 = 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 = 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);
        })
    }

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

  • 相关阅读:
    python剑指网络篇二
    使用sklean进行多分类下的二分类
    virtualenv下使用matplotlib
    谱聚类python实践
    K均值算法-python实现
    python使用hbase
    php运算符
    php常量
    php数据类型
    git,版本控制教程
  • 原文地址:https://www.cnblogs.com/xuejiangjun/p/6031366.html
Copyright © 2011-2022 走看看