电脑上按Ctrl + D,下次访问更方便
服务分类

Python3 Mongodb数据库连接单例写法

以下代码在Python3.6版本可用。

import pymongo
import sys
import traceback
"""
mongodb数据库连接(单例模式)
调用方法:
sys.path.append('..')   如果有必要,加在最上面
from momngodb_conn import mongo_client
"""


class Singleton(object):
    # 实现__new__方法
    # 并在将一个类的实例绑定到类变量_instance上,
    # 如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回
    # 如果cls._instance不为None,直接返回cls._instance
    def __new__(cls, *args, **kwargs):
        if not hasattr(cls, '_instance'):
            orig = super(Singleton, cls)
            cls._instance = orig.__new__(cls, *args, **kwargs)
        return cls._instance


class MongoConn(Singleton):
    def __init__(self):
        try:
            self.mongo_client = pymongo.MongoClient("mongodb://username:password@localhost:27017/")
        except Exception:
            print(traceback.format_exc())
            print('mongodb连接失败!.')
            sys.exit(1)

    def __del__(self):
        if self.conn:
            self.conn.close()
        print("mongodb连接不再使用")


 mongo_client =  MongoConn().mongo_client

发表回复

登录后才能评论
联系我们

联系我们

微信专属客服:

fuwu360微信客服

工作时间:周一至周五,9:30-18:30,节假日休息

返回顶部