微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这篇文章主要介绍了python连接mongodb操作数据示例,主要包括插入数据、更新数据、查询数据、删除数据等

一、相关代码

数据库配置类 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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐