python连接mongodb数据库操作数据示例
作者:WAYAHA 发布时间:2024-01-14 19:16:54
标签:python,mongodb,数据库
作者: wyh草样
出处:https://www.cnblogs.com/wyh0923/p/14047466.html
1、数据库配置类 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
2、ngoDemo.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()
来源:https://www.cnblogs.com/wyh0923/p/14047466.html


猜你喜欢
- 前言在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通
- 最近在公司做了微信支付的接入,这里总结下开发的一些经验注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关。微信支付的主要
- 在经过前面几个部分的操作之后,我们的网页已经图文并茂,具有相当的效果了,但是这对于网页来说还不够,为了网站中的众多网页能够成为一个有机的整体
- folium是python的一个用来绘制地图,并在地图上打点,画圈,做颜色标记的工具类。简单易学,和pandas可以很好的融合,是居家必备良
- 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪。在.NET平台中,有非常著名的第三方开
- 但是,具有identity特性的字段,不需要具有唯一性,更不必须是主键。 可以通过,set identity_insert tablenam
- 一、Beautiful Soup的介绍Beautiful Soup是一个强大的解析工具,它借助网页结构和属性等特性来解析网页。它提供一些函数
- 在pytest自动化测试中,如果只是简单的从应用的角度来说,完全可以不去了解pytest中的显示信息的部分以及原理,完全可以通过使用推荐的p
- Urllib官方文档地址:https://docs.python.org/3/library/urllib.htmlurllib提供了一系列
- 错误现象:ERROR 1045 (28000): Access denied for user 'ODBC'@'lo
- 前段时间,微信群有一个朋友问了下面这个问题,虽然很简单,但是觉得有必要和大家做一个知识分享。这个问题一共有两个需求:① 获取视频的文件大小;
- PDOStatement::closeCursorPDOStatement::closeCursor — 关闭游标,使语句能再次被执行。(P
- 1、设置字体、风格代码主题选择Monokai会是彩色的代码。2、配置CI代码提示<1>下载代码提示项目:https://gith
- docker最近迷恋使用doker容器,在docker容器进行部署MySQL,以前针对容器的安全性一直存在怀疑的态度,不过如果能够通过容器也
- 结合这个例子分析一下结果:结合以往C语言的基础,画了一张图来解释为什么会有上面这些值的出现。先查看下Go中的这两个运算符是啥吧。①对于所有带
- PhotoSwipe插件能实现手机端点击图片全屏放大 再双击图片放大等功能PhotoSwipe插件官方网站 http://www.photo
- 本文实例为大家分享了python OpenCV实现答题卡识别判卷的具体代码,供大家参考,具体内容如下完整代码:#导入工具包import nu
- 1、PRIMARY KEY上期我们讲述了 not null 和 unique 约束,而本期的第一个约束就是这俩的结合体,也成为主键约束。主键
- Python2中编码相关的问题很是让人蛋疼,特别是中文字符。比如本文所述的中文网页GBK编码的诡异问题。现象例如:盲录職氓聭聵,其实网页里面
- 如果你经常使用python开发GUI程序的话,那么就知道,有时你需要很长时间来执行一个任务。当然,如果你使用命令行程序来做的话,你回非常惊讶