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()

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...