python連接mongodb


方式一:

#!/usr/bin/python
# coding:utf-8

from __future__ import unicode_literals
from pymongo import MongoClient
from django.conf import settings

__author__ = 'klx'


class MongodbModel:
    """
    mongodb單例模式
    """
    __con = None

    @classmethod
    def conn(cls):
        """
        這里第一個參數是cls, 表示調用當前的類名
        :return:
        """
        if settings.DEBUG:
            cls.client = MongoClient('mongodb://120.77.12.144:27017/')
            cls.client.admin.authenticate("root", "root")
            cls.db = cls.client['nahuomallv3_dev']
        else:
            cls.client = MongoClient('mongodb://120.77.12.144:27017/')
            cls.client.admin.authenticate("root", "root")
            cls.db = cls.client['nahuomallv3_prod']
        # 進行單例判斷
        if cls.__con:
            return cls.__con
        else:
            cls.__con = MongodbModel()
            return cls.__con

 

 方式二:

 

from pymongo import MongoClient
class MongodbModel:
    def __init__(self):
        """
        初始化MongoClient
        """
        self.client = MongoClient()
        # 指定端口和地址
        # self.client = MongoClient('127.0.0.1', 27017)
 
        if settings.DEBUG:
            # 使用URI
            self.client = MongoClient('mongodb://120.77.12.144:27017/')
            self.client.admin.authenticate("root", "root")
            self.db = self.client['nahuomallv3_dev']
        else:
            # 使用URI
            self.client = MongoClient('mongodb://120.77.12.144:27017/')
            self.client.admin.authenticate("root", "root")
            self.db = self.client['nahuomallv3_prod']
 
    def __del__(self):     
        """
        刪除對象(del mgngomodel_obj) 
        """
        self.client.close()     

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM