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 随机生成中文验证码的实例代码
Mar 20 Python
python解析xml模块封装代码
Feb 07 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
python调用API实现智能回复机器人
Apr 10 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
python3实现zabbix告警推送钉钉的示例
Feb 20 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python3 批量获取对应端口服务的实例
Jul 25 Python
python按行读取文件并找出其中指定字符串
Aug 08 Python
python如何将多个PDF进行合并
Aug 13 Python
使用python实现CGI环境搭建过程解析
Apr 28 Python
如何在Anaconda中打开python自带idle
Sep 21 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
DC最新动画电影:《战争之子》为何内容偏激,毁了一个不错的漫画
2020/04/09 欧美动漫
PHP学习之PHP运算符
2006/10/09 PHP
PHP实现网上点歌(二)
2006/10/09 PHP
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/21 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
php四种基础算法代码实例
2013/10/29 PHP
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
简单实现js菜单栏切换效果
2017/03/04 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
对python操作kafka写入json数据的简单demo分享
2018/12/27 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
美国知名艺术画网站:Art.com
2017/02/09 全球购物
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
初三化学教学反思
2014/01/23 职场文书
政工例会汇报材料
2014/08/26 职场文书
119消防日活动总结
2014/08/29 职场文书
《海上日出》教学反思
2016/02/23 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers