美文网首页
nodejs 连接使用mongodb数据库

nodejs 连接使用mongodb数据库

作者: 煎包小混沌 | 来源:发表于2017-08-09 13:48 被阅读0次

    1:安装mongodb和启动

    终端命令安装:brew install mongodb

    //这里的conf文件目录可能不一样
    终端命令启用:mongod --config /usr/local/etc/mongod.conf

    mongodb可视化工具 Robo 3T

    2:nodejs安装mongodb模块

    终端命令:npm install mongodb

    3:nodejs连接已存在的数据库test

    var MongoClient = require("mongodb").MongoClient;
    var DB_URL = "mongodb://localhost:27017/test";
    
    var _collection;
    
    var openDb = function () {
        return new Promise(function (resolve, reject) {
            MongoClient.connect(DB_URL, function (error, db) {
                console.log('连接成功!' + 'error=' + error);
                //连接到表
                db.collection('newcollection', function (err, collection) {
                    if (err) {
                        console.log('collection =' + err);
                        reject('field');
                    } else {
                        console.log('connected');
                        _collection = collection;
                        resolve(collection);
                    }
                })
            });
        });
    };
    
    3.1:新增数据
    //新增数据
    //mydb.insertData([{name: 'wfx3', password: '123456'}, {name: 'wfx4', password: '123456'}]);
    //mydb.insertData({name: 'wfx3', password: '123456'});
    var insertData = function (data) {
        openDb().then(function (res) {
            res.insert(data,function(err,result){
                if (err) {
                    console.log(err);
                }else {
                    console.log(result);
                }
            });
        }, function (err) {
            
        })
    };
    
    3.2:查询数据
    //查询数据
    //mydb.findData({name: 'wfx1'}); 单条件查询
    //mydb.findData({$and: [{name: 'wfx1'}, {password: '123'}]});  多条件查询
    var findData = function (data) {
        openDb().then(function (res) {
            res.find(data).toArray(function(err,result){
                if (err) {
                    console.log(err);
                }else {
                    console.log(result);
                }
            });
        }, function (err) {
            console.log(err);
        })
    };
    
    3.3:更新数据
    //更新数据
    //mydb.updateData({name: 'wfx'}, {$set: {password: '1212'}});
    //如果不用$set,替换整条数据
    //oData 只是为了找到对应的数据,然后替换成nData中的数据
    var updateData = function (oData, nData) {
        openDb().then(function (res) {
            res.update(oData, nData, function(err,result){
                if (err) {
                    console.log(err);
                }else{
                    console.log(result.result.n);
                }
            });
        }, function (err) {
    
        })
    };
    
    3.4:删除数据
    //删除数据
    //mydb.deleteData({name: 'wfx2'}); 单条件删除
    //mydb.deleteData({name: 'wfx1', password: '123' }); 多条件删除
    var deleteData = function (data) {
        openDb().then(function (res) {
            res.remove(data, function(err,result){
                if (err) {
                    console.log(err);
                }else{
                    console.log(result.result.n);
                }
            });
        }, function (err) {
    
        })
    };
    

    相关文章

      网友评论

          本文标题:nodejs 连接使用mongodb数据库

          本文链接:https://www.haomeiwen.com/subject/dkofrxtx.html