Python pymongo模块常用操作分析


Posted in Python onSeptember 01, 2018

本文实例讲述了Python pymongo模块常用操作。分享给大家供大家参考,具体如下:

环境:pymongo3.0.3,python3

以下是我整理的一些关于pymongo的操作,网上很多是用pymongo.Connecion()去连接数据库的,但是我这里连接一直提示没有这个包,如果大家有什么解决方案或者其他需要补充的,也欢迎告诉我。

一、导入pymongo,使用MongClient连接数据库,连接到myinfo数据库

import pymongo
client= pymongo.MongoClient("127.0.0.1",27017)
db=client.myinfo

二、insertinsert_one()只能插入一条数据,插入多条数据的格式是db.user.insert([{条数1},{条数2}]),一定要加[],否则只会添加进去第一条(user是一个集合,除了用db["collection"]外也可以用db.collection来对集合进行操作

db["user"].insert_one({"name":"zhao"})
db["user"].insert_one({"name":"zhou","age":"5"})
db["user"].insert([{"name":"wu","age":"6"},{"name":"zheng","age":"7"}])

*insert还可以用下面这种方式插入,将数据独立出来

data = [
    {"name":"zhao","rank":"1"},
    {"name":"qian","rank":"2"},
    {"name":"sun","rank":"3"},
    {"name":"li","rank":"4"},
    ]
db.user.insert(data)

三、update,$set:更新操作,multi=True:是否对查询到的全部数据进行操作,upsert=True:如果找不到查询的结果是否插入一条数据

db.user.update_one({"age":"2"},{"$set":{"name":"qian","age":2}})
db.user.update({"name":"sun"},{"$set":{"name":"qian"}},upsert=True)

*update_one也是只能对一条数据进行操作,$set是update操作的$操作符,也可以用$inc或$push,前两个操作速度差不多,$push操作速度较慢。

四、remove,如果后面()内不填写内容,就是将整个表清空了,db.user.find_one_and_delete()也是删除的意思

db.user.remove({"name":"wu"})
db.user.find_one_and_delete({"name":"zheng"})

五、db.user.count(),统计查询出的条数,()内不填写东西,就是统计出该集合下所有的数据

print(db.user.count({"age":"6"}))

六、打印出查询结果

from bson import json_util as jsonb
print(jsonb.dumps(list(db.user.find({"name":"wu"}))))
print(db.user.find({"name":"wu"}))

可以看到上面两种方式,不转换与转换后的结果对比如下:

Python pymongo模块常用操作分析

*jsonb.dumps()将查询出来的结果转换成了可以读的list的格式,否则打印出来的是<pymongo.cursor.Cursor object at 0x02096DF0>这种格式的

遍历col1=db.user.find()查询到的所有结果,以及它key=name的value

for i in col1:
  print(i)
  print(i["name"])

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现dnspod自动更新dns解析的方法
Feb 14 Python
Python实现全局变量的两个解决方法
Jul 03 Python
python中去空格函数的用法
Aug 21 Python
python中列表元素连接方法join用法实例
Apr 07 Python
Python自动扫雷实现方法
Jul 25 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
使用python爬取抖音视频列表信息
Jul 15 Python
Python下使用Trackbar实现绘图板
Oct 27 Python
python xlsxwriter模块的使用
Dec 24 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 #Python
python使用webdriver爬取微信公众号
Aug 31 #Python
python爬取微信公众号文章
Aug 31 #Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 #Python
Python使用Flask-SQLAlchemy连接数据库操作示例
Aug 31 #Python
浅谈Python traceback的优雅处理
Aug 31 #Python
python梯度下降法的简单示例
Aug 31 #Python
You might like
PHP开发中的错误收集,不定期更新。
2011/02/03 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
php生成html文件方法总结
2014/12/01 PHP
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
joomla数据库操作示例代码
2016/01/06 PHP
在IE模态窗口中自由查看HTML源码的方法
2007/03/08 Javascript
用jscript实现新建word文档
2007/06/15 Javascript
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
对python 生成拼接xml报文的示例详解
2018/12/28 Python
python logging设置level失败的解决方法
2020/02/19 Python
python3实现简单飞机大战
2020/11/29 Python
HTML5标签小集
2011/08/02 HTML / CSS
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
大学生怎样进行自我评价
2013/12/07 职场文书
采购员的工作职责
2013/12/26 职场文书
优秀教师主要事迹
2014/02/01 职场文书
服务承诺书怎么写
2014/05/24 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers