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使用介绍
Nov 30 Python
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 Python
Python实现字符串逆序输出功能示例
Jun 24 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
Numpy数组转置的两种实现方法
Apr 17 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
详解numpy的argmax的具体使用
May 27 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
django2笔记之路由path语法的实现
Jul 17 Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 Python
python如何使用腾讯云发送短信
Sep 17 Python
Python3的进程和线程你了解吗
Mar 16 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中用文本文件做数据库的实现方法
2008/03/27 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
浅谈json_encode用法
2015/03/05 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
php strftime函数的详细用法
2018/06/21 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
使用jQuery避免鼠标双击的解决方案
2013/08/21 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
jquery+ajax请求且带返回值的代码
2015/08/12 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
原生JS检测CSS3动画是否结束的方法详解
2019/01/27 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
Python入门之后再看点什么好?
2018/03/05 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
快速创建python 虚拟环境
2020/11/28 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
2015年化妆品销售工作总结
2015/05/11 职场文书
论文答辩开场白大全
2015/05/27 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
2015年教师党员个人总结
2015/11/24 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
mysql的单列多值存储实例详解
2022/04/05 MySQL