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备份文件的脚本
Aug 11 Python
Python3写入文件常用方法实例分析
May 22 Python
详解Django中Request对象的相关用法
Jul 17 Python
python&MongoDB爬取图书馆借阅记录
Feb 05 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
python dataframe 输出结果整行显示的方法
Jun 14 Python
用python爬取租房网站信息的代码
Dec 14 Python
python关于调用函数外的变量实例
Dec 26 Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 Python
Python中remove漏删和索引越界问题的解决
Mar 18 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
浅谈Python中的模块
Jun 10 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截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
JavaScript中使用Math.PI圆周率属性的方法
2015/06/14 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
2017/02/22 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
angularJS实现不同视图同步刷新详解
2018/10/09 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
python中将阿拉伯数字转换成中文的实现代码
2011/05/19 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
物流业务员岗位职责
2014/02/08 职场文书
大家访活动实施方案
2014/03/10 职场文书
小学生暑假家长评语
2014/04/17 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书