美文网首页
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