python连接mongodb操作数据示例(mongodb数据库配置类)
发布时间:2023-05-01 17:21:17
标签:python,mongodb
一、相关代码
数据库配置类 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()
0
投稿
猜你喜欢
- 本文实例为大家分享了Python实现五子棋游戏的具体代码,供大家参考,具体内容如下了解游戏的规则是我们首先需要做的事情,如果不知晓规则,那么
- 后台数据库用是Access,客户用了一年后说打开界面非常慢,查看了数据库后发现数据表中的记录已有五万多条,自己试过将记录复制到10 万条,打
- 数据库:30万条,有ID列但无主键,在要搜索的“分类”字段上建有非聚集索引过程T-SQL: /* 用户自定义函数:执行时间在115
- 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联
- 前言最近有网友私信我,问如何把多张图片合成一张马赛克图片的样子说是女儿从出生到现在,所有的照片,大概有上百张,所以想使用这些照片合成一张,当
- 原因:list 获得的数据为空: 显示值为 [ ]不同的判断--- is None----not两者结果不一样分析:总之:not 判断的是内
- 在IE下,获取Param的时候有个诡异现象(不知道算不算bug)。为了清晰起见,下面用最简单的HTML和JavaScript来说明。有这么一
- 在这个简短的教程中,我会介绍将python列表转换为字符串的不同方法。为什么要将python列表转换为字符串?将python列表转换为字符串
- setTimeoutsetTimeout 语法例子用 setTimeout 来执行 function不断重复执行的 setTimeout设定
- 1、将css与javascript全部用下边的方法分离到外部文件中去。<link rel="stylesheet"
- Go 中接口也是一个使用得非常频繁的特性,好的软件设计往往离不开接口的使用,比如依赖倒置原则(通过抽象出接口,分离了具体实现与实际使用的耦合
- 内容摘要:本文介绍了使用CSS结合javascript来实现对超链接的类型进行标注,让浏览者明确是zip,doc,pdf或其它格式的文件。这
- <%'============================================================
- Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from
- 接触编程的朋友都听过正则表达式,在python中叫re模块,属于文字处理服务里面的一个模块。re里面有一个方法叫match,接下来的文章我来
- 一、两层结构的ASP应用有何缺点 在Browser/Server 应用程序开发领域,微软公司的IIS/ASP以其强大的功能,良好的扩展能力,
- 用header 发送cookie header("Set-Cookie: testcookie=中文
- 以下以 IE 代替 Internet Explorer,以 MF 代替 Mozzila FF1. document.form.item 问题
- 写完调用天气接口的demo之后,小程序调用天气接口并且渲染在页面,顺便再调用了一下美图的接口API:美图APIurlwxml:<vie
- Fucklt.py 使用了最先进的技术能够使你的代码不管里面有什么样的错误,你只管 FuckIt,程序就能"正常"执行,