MongoDB的终端启动与 nodesjs中的连接,封装

最近学习了 nodejs 的后台服务开发,需要用到数据库,这里选择的是 mongodb(非关系型数据库),下面对 MongoDB的使用过程进行一个简单的总结,作为想学习笔记。
【MongoDB终端使用:】
1.首先是安装好 MongoDB,按照教程,MongoDB下可以看到 3个文件夹 bin, data, log
2.Windows键 + R 运行 cmd 打开命令终端,切换到 MongoDB的bin目录下,运行mongod --dbpath F:\MongoDB\data\db 打开 mongodb
在这里插入图片描述
3.另起一个终端,运行 mongo 连接数据库,mongodb://127.0.0.1:27017就是数据库的url
在这里插入图片描述
4.下面就可以在终端对mongodb进行常规的增删改查的一系列操作,我就列举一下不做截图展示了

show dbs //显示所有的数据库
use dbname //使用数据库 ,创建数据库
db.dropDatabase() // 删除当前所在数据库
show collections //显示选中数据库的所有集合(表)
db.collectionname.drop() //删除当前指定的集合(表)
db.collectionname.find() // 查找数据
db.collectionname.insert({ "xxx":"xxx" , ...}) //插入数据
db.collectionname.update({ olddata},{ $set: newdata}) //更新修改数据
db.collectionname.remove({"xxx":"xxx"}) //删除表中的某条数据

【nodejs下操作mongodb】

(1) 安装 mongodb npm install mongodb --save
(2) 新建一个 db.js 用来封装 对 mongodb的增删改查操作
(3)连接数据库之前,先做一些基本的配置:

var MongoClient = require('mongodb').MongoClient;   //引入
var dburl = 'mongodb://127.0.0.1:27017/';    // 配置数据库的 url 
var dbname = 'product';      // 配置将要连接的数据库名称

(4)连接数据库:

function connectDB(callback){
    MongoClient.connect( dburl , (err, client)=>{
        if(err){
            console.log(err);
            return;
        }else{
            var db = client.db(dbname);
            callback(db);
            client.close();  //别忘了关闭数据库
        }
    })
}

【这里需要注意 mongodb的版本是 3.x 所以比之前多了一步设置 client来连接数据库】
由于 连接数据库又是在 操作数据库之前的必须的,所以把连接数据库操作单独封装,通过设置 回调函数 callback 来返回结果

(5) 管理数据库,增删改查【这里只是使用的最简单常用的方式,具体的还可以去看官方网文档】

// 查询数据库
exports.find = (collectionname,json,callback)=>{
    connectDB( db => {
        var result = db.collection(collectionname).find(json);
        /** 遍历数组的一种方式 */
        result.toArray( (err,data) =>{
            callback(err,data);
        })
    })
}
// 插入数据 insertOne
exports.insert = (collectionname,json,callback)=>{
    connectDB( db =>{
        db.collection(collectionname).insertOne(json,(err,data)=>{
            callback(err,data);
        })
    })
}
// 修改更新数据 updataOne
exports.update = (collectionname,json1,json2,callback)=>{
    connectDB( db =>{
        db.collection(collectionname).updateOne(json1,{$set:json2},(err,data)=>{
            callback(err,data);
        })
    })
}
// 删除数据 deleteOne
exports.deleteOne = (collectionname,json,callback)=>{
    connectDB( db=>{
        db.collection(collectionname).deleteOne(json,(err,data)=>{
            callback(err,data);
        })
    })
}

猜你喜欢

转载自blog.csdn.net/Zhou07182423/article/details/87873147