Python之MongoDB实操
欢迎关注【无量测试之道】公众号,回复【领取资源】,
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的服务来实战检验一下代码。
1 import pymongo 2 3 def getcol(): 4 myclient = pymongo.MongoClient('mongodb://127.0.0.1:27017/')#连接mongodb服务 5 mydb=myclient["admin"] #选择要连接的数据库名 6 mydb.authenticate("tony","123456")#数据库账号及密码验证 7 mycollection=mydb["test"]#执行要在操作的集合,不存就创建 8 print(mydb.list_collection_names())#打印出选择连接的数据库中的表 9 return mycollection #返回当前连接的集合 10 11 def mongo_insert(params): #插入数据 12 mycol=getcol() 13 if(type(params)==dict):#判断插入的数据是一条还是多条,dict就是一条,list就是多条 14 mycol.insert_one(params) 15 elif(type(params)==list): 16 mycol.insert_many(params) 17 18 def mongo_find(): #查询数据 19 mycol=getcol() 20 for doc in mycol.find(): #查询所有数据 21 print(doc) 22 for doc in mycol.find({},{"_id":0,"name":1,"age":1}): #查询返回指定字段的数据 23 print(doc) 24 myselect={"name":"tony"} 25 for doc in mycol.find(myselect):#查询返回指定条件的数据 26 print(doc) 27 28 def mongo_delete():#删除集合中的数据 29 mycol=getcol() 30 myselect={"name":"tony"} 31 mycol.delete_one(myselect)#删除单条数据 32 mycol.delete_many({}) #删除所有数据 33 34 def mongo_update():#修改集合中的数据 35 mycol=getcol() 36 myselect = {"name": "tony"}#查询条件 37 newvalue = {"$set": {"age": "35"}}#变更的内容 38 mycol.update(myselect,newvalue) 39 40 41 if __name__=="__main__": 42 mydict = {"name": "tony", "age": "22", "sex": "man"} 43 mylist = [ 44 {"name": "tom", "age": "100", "sex": "man"}, 45 {"name": "jim", "age": "101", "sex": "woman"}, 46 {"name": "lucy", "age": "10", "sex": "woman"}, 47 {"name": "lily", "age": "103", "sex": "woman"}, 48 {"name": "dido", "age": "109", "sex": "man"} 49 ] 50 mongo_insert(mylist) 51 mongo_find() 52 mongo_update() 53 mongo_delete()
总结:今天的文章是通过Python来实现针对MongoDB的增删改查等操作,这也是最基础的,最实用的操作。
备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:
添加关注,一起共同成长吧。