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中的列表推导浅析
Apr 26 Python
使用Python爬取最好大学网大学排名
Feb 24 Python
python2.7 json 转换日期的处理的示例
Mar 07 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
Feb 26 Python
使用Python三角函数公式计算三角形的夹角案例
Apr 15 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
如何基于Python实现word文档重新排版
Sep 29 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
python实现商品进销存管理系统
May 30 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设计模式之装饰者模式
2012/02/29 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
基于jQuery的可以控制左右滚动及自动滚动效果的代码
2010/07/25 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
JS 打印界面的CSS居中代码适用所有浏览器
2014/03/19 Javascript
js实现编辑div节点名称的方法
2014/12/17 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
js实现简单进度条效果
2020/03/25 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
选择Python写网络爬虫的优势和理由
2019/07/07 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
python为什么会环境变量设置不成功
2020/06/23 Python
基于python requests selenium爬取excel vba过程解析
2020/08/12 Python
英格兰足协官方商店:England Store
2019/07/12 全球购物
终止劳动合同协议书
2014/04/14 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
工程资料员岗位职责
2015/04/13 职场文书
2015年司法所工作总结
2015/04/27 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
maven依赖的version声明控制方式
2022/01/18 Java/Android
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis
详解Python中的for循环
2022/04/30 Python