欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、
资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。
最近几篇文章都是讲的Mongo, 也是想趁这个机会把Mongo的使用的一些技巧总结并分享一下,今天的文章是围绕着Python如何来连接Mongo服务操作MongoDB,如果你正在工作或学习中使用Python并且也正好在使用MongoDB,相信对大家有益处。
我们在使用Python操作MongoDB时需要借助第三方的一个工具库,所以我们需要先安装,命令如下:
python -m pip install pymongo (如果你配置好了pip 的环境变量也可用pip install pymongo).
直接上代码,大家可以基于前面文章提到的搭建MongoDB的服务来实战检验一下代码。
import pymongo
def getcol():
myclient = pymongo.MongoClient('mongodb://127.0.0.1:27017/')#连接mongodb服务
mydb=myclient["admin"] #选择要连接的数据库名
mydb.authenticate("tony","123456")#数据库账号及密码验证
mycollection=mydb["test"]#执行要在操作的集合,不存就创建
print(mydb.list_collection_names())#打印出选择连接的数据库中的表
return mycollection #返回当前连接的集合
def mongo_insert(params): #插入数据
mycol=getcol()
if(type(params)==dict):#判断插入的数据是一条还是多条,dict就是一条,list就是多条
mycol.insert_one(params)
elif(type(params)==list):
mycol.insert_many(params)
def mongo_find(): #查询数据
mycol=getcol()
for doc in mycol.find(): #查询所有数据
print(doc)
for doc in mycol.find({},{"_id":0,"name":1,"age":1}): #查询返回指定字段的数据
print(doc)
myselect={"name":"tony"}
for doc in mycol.find(myselect):#查询返回指定条件的数据
print(doc)
def mongo_delete():#删除集合中的数据
mycol=getcol()
myselect={"name":"tony"}
mycol.delete_one(myselect)#删除单条数据
mycol.delete_many({}) #删除所有数据
def mongo_update():#修改集合中的数据
mycol=getcol()
myselect = {"name": "tony"}#查询条件
newvalue = {"$set": {"age": "35"}}#变更的内容
mycol.update(myselect,newvalue)
if __name__=="__main__":
mydict = {"name": "tony", "age": "22", "sex": "man"}
mylist = [
{"name": "tom", "age": "100", "sex": "man"},
{"name": "jim", "age": "101", "sex": "woman"},
{"name": "lucy", "age": "10", "sex": "woman"},
{"name": "lily", "age": "103", "sex": "woman"},
{"name": "dido", "age": "109", "sex": "man"}
]
mongo_insert(mylist)
mongo_find()
mongo_update()
mongo_delete()
总结:今天的文章是通过Python来实现针对MongoDB的增删改查等操作,这也是最基础的,最实用的操作。
备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:
添加关注,一起共同成长吧。