当前位置 博文首页 > python连接mongodb操作数据示例(mongodb数据库配置类)

    python连接mongodb操作数据示例(mongodb数据库配置类)

    作者:admin 时间:2021-06-12 18:26

    一、相关代码
    数据库配置类 MongoDBConn.py

    复制代码 代码如下:

    #encoding=utf-8
    '''

    Mongo Conn连接类
    '''

    import pymongo

    class DBConn:
        conn = None
        servers = "mongodb://localhost:27017"

        def connect(self):
            self.conn = pymongo.Connection(self.servers)

        def close(self):
            return self.conn.disconnect()

        def getConn(self):
            return self.conn

    MongoDemo.py 类

    复制代码 代码如下:

    #encoding=utf-8
    '''

    Mongo操作Demo
    Done:
    '''
    import MongoDBConn

    dbconn = MongoDBConn.DBConn()
    conn = None
    lifeba_users = None

    def process():
        #建立连接
        dbconn.connect()
        global conn
        conn = dbconn.getConn()

        #列出server_info信息
        print conn.server_info()

        #列出全部数据库
        databases = conn.database_names()
        print databases

        #删除库和表
        dropTable()
        #添加数据库lifeba及表(collections)users
        createTable()
        #插入数据
        insertDatas()
        #更新数据
        updateData()
        #查询数据
        queryData()
        #删除数据
        deleteData()

        #释放连接
        dbconn.close()

    def insertDatas():
        datas=[{"name":"steven1","realname":"测试1","age":25},
               {"name":"steven2","realname":"测试2","age":26},
               {"name":"steven1","realname":"测试3","age":23}]
        lifeba_users.insert(datas)

    def updateData():
        '''只修改最后一条匹配到的数据
               第3个参数设置为True,没找到该数据就添加一条
               第4个参数设置为True,有多条记录就不更新
        '''
        lifeba_users.update({'name':'steven1'},{'$set':{'realname':'测试1修改'}}, False,False)

    def deleteData():
        lifeba_users.remove({'name':'steven1'})

    def queryData():
        #查询全部数据
        rows = lifeba_users.find()
        printResult(rows)
        #查询一个数据
        print lifeba_users.find_one()
        #带条件查询
        printResult(lifeba_users.find({'name':'steven2'}))
        printResult(lifeba_users.find({'name':{'$gt':25}}))

    def createTable():
        '''创建库和表'''
        global lifeba_users
        lifeba_users = conn.lifeba.users

    def dropTable():
        '''删除表'''
        global conn
        conn.drop_database("lifeba")

    def printResult(rows):
        for row in rows:
            for key in row.keys():#遍历字典
                print row[key], #加, 不换行打印
            print ''

    if __name__ == '__main__':
        process()

    js
    上一篇:没有了
    下一篇:没有了