当前位置: 主页 > 日常积累 > node >

node_mongodb封装配置

config.js

/*配置文件*/
var app={
dbUrl: 'mongodb://localhost:27017/',
dbName: 'koa'
}
module.exports=app;

db.js

//DB库
var MongoClient = require('mongodb').MongoClient;

var Config = require('./config.js');

class Db {

    static getInstance() {
        /*1、单例  多次实例化实例不共享的问题*/

        if (!Db.instance) {
            Db.instance = new Db();
        }
        return Db.instance;
    }

    constructor() {

        this.dbClient = '';
        /*属性 放db对象*/
        this.connect();
        /*实例化的时候就连接数据库*/

    }

    connect() {
        /*连接数据库*/
        let _that = this;
        return new Promise((resolve, reject) = >{
            if (!_that.dbClient) {
                /*1、解决数据库多次连接的问题*/
                MongoClient.connect(Config.dbUrl, (err, client) = >{

                    if (err) {
                        reject(err)

                    } else {

                        _that.dbClient = client.db(Config.dbName);
                        resolve(_that.dbClient)
                    }
                })

            } else {
                resolve(_that.dbClient);

            }

        })

    }

    find(collectionName, json) {

        return new Promise((resolve, reject) = >{

            this.connect().then((db) = >{

                var result = db.collection(collectionName).find(json);

                result.toArray(function(err, docs) {

                    if (err) {
                        reject(err);
                        return;
                    }
                    resolve(docs);
                })

            })
        })
    }
    update() {

}
    insert() {

}
}

module.exports = Db.getInstance();


[日志信息]

该日志于 2018-05-17 18:28 由 陈文超 发表在 未知 网站下,你除了可以发表评论外,还可以转载 “node_mongodb封装配置” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)

Copyright © 2015-2018 陈文超博客 保留所有权利 琼ICP备15003229号| 托管于阿里云 · 博客稳定运行 | 网站地图 |

返回顶部