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函数式编程
Jun 09 Python
深入解析Python中的WSGI接口
May 11 Python
python机器学习之神经网络(一)
Dec 20 Python
python单例模式实例解析
Aug 28 Python
python实现简单的文字识别
Nov 27 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
Keras搭建自编码器操作
Jul 03 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
用Python生成会跳舞的美女
Jan 18 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
使用cookie实现统计访问者登陆次数
2013/06/08 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
完美解决js传递参数中加号和&号自动改变的方法
2016/10/11 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
对python中的for循环和range内置函数详解
2018/04/17 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
详解Python连接MySQL数据库的多种方式
2019/04/16 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
python3中编码获取网页的实例方法
2020/11/16 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
介绍一下Java中标识符的命名规则
2014/02/03 面试题
消防器材管理制度
2014/01/28 职场文书
群众路线剖析材料
2014/09/30 职场文书
英语辞职信怎么写
2015/02/28 职场文书
学校食堂管理制度
2015/08/04 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android