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中dict与set的使用
Aug 10 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
python3.6实现学生信息管理系统
Feb 21 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 Python
Python语言异常处理测试过程解析
Jan 08 Python
python 实现在shell窗口中编写print不向屏幕输出
Feb 19 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python爬虫scrapy图书分类实例讲解
Nov 23 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
Jan 28 Python
python+opencv实现视频抽帧示例代码
Jun 11 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
php的hash算法介绍
2014/02/13 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
URI、URL和URN之间的区别与联系
2006/12/20 Javascript
Ajax::prototype 源码解读
2007/01/22 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
Angular的自定义指令以及实例
2016/12/26 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
elementui的默认样式修改方法
2018/02/23 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
用Python实现协同过滤的教程
2015/04/08 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
教师工作自我鉴定范文
2014/09/14 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL