美文网首页
Mongodb增删改查封装

Mongodb增删改查封装

作者: 正正果实 | 来源:发表于2018-02-24 22:53 被阅读0次

    先引入mongodb模块

    const MongoClient = require('mongodb').MongoClient;
    

    数据库

    const DB_CONN_STR = 'mongodb://192.168.1.243:27017/test';
    

    哪张表

    const tableName = 'demo';
    
    let db = null;
    

    连接数据库的封装

    async function getInstance() {
        if (db == null) {
            try {
                db = await MongoClient.connect(DB_CONN_STR);
                return db;
            } catch (e) {
                console.log(e);
            }
        } else {
            return db;
        }
    }
    

    连接数据库并返回相应对象

    async function connectDb(){
        const db = await getInstance();
        const collection = db.collection(tableName);
        return { db, collection };
    }
    

    params皆为传入参数
    增加,insert方法为插入数据

    async function callAddData(params){
        const dbObj = await connectDb();
        return await dbObj.collection.insert(params);
    }
    

    查询,find方法为查询数据

    async function callSearchData(params){
        const dbObj = await connectDb();
        return await dbObj.collection.find(params).toArray(); 
    }
    

    查询单条数据库

    async function callDetailData(params){
        const dbObj = await connectDb();
        const result = await dbObj.collection.find(params).toArray();
        return result[0];
    }
    

    修改,update方法为修改,第一个参数为要寻找的数据,一般传入id,第二个参数为更新的数据

    async function callUpdateData(params){
        const dbObj = await connectDb();
        const whereStr = {id: params.id};
        const updateStr = {$set: params};
        return await dbObj.collection.update(whereStr, updateStr);
    }
    

    删除,remove方法为删除数据

    async function callDeleteData(params){   
        const dbObj = await connectDb();
        const result = await dbObj.collection.remove(params);
        return result;
    }
    

    相关文章

      网友评论

          本文标题:Mongodb增删改查封装

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