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


Posted in Python onDecember 31, 2013

一、相关代码
数据库配置类 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()
Python 相关文章推荐
Python的print用法示例
Feb 11 Python
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python入门篇之字典
Oct 17 Python
用Python中的__slots__缓存资源以节省内存开销的方法
Apr 02 Python
Windows下实现Python2和Python3两个版共存的方法
Jun 12 Python
浅谈django中的认证与登录
Oct 31 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
python调用动态链接库的基本过程详解
Jun 19 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
django 类视图的使用方法详解
Jul 24 Python
python Django 创建应用过程图示详解
Jul 29 Python
python读取Kafka实例
Dec 23 Python
python连接mysql数据库示例(做增删改操作)
Dec 31 #Python
Python抓取Discuz!用户名脚本代码
Dec 30 #Python
python之模拟鼠标键盘动作具体实现
Dec 30 #Python
python多线程http下载实现示例
Dec 30 #Python
python正则匹配查询港澳通行证办理进度示例分享
Dec 27 #Python
python模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 #Python
python读文件逐行处理的示例代码分享
Dec 27 #Python
You might like
PHP原理之异常机制深入分析
2010/08/08 PHP
php通用防注入程序 推荐
2011/02/26 PHP
PHP精确计算功能示例
2016/11/29 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
js继承实现方法详解
2016/12/16 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
Vue.js 2.0中select级联下拉框实例
2017/03/06 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
静心口服夜广告词
2014/03/20 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python