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下ftp上传文件linux服务器
Jun 21 Python
详解Python函数式编程—高阶函数
Mar 29 Python
python gensim使用word2vec词向量处理中文语料的方法
Jul 05 Python
python自动循环定时开关机(非重启)测试
Aug 26 Python
Pyecharts绘制全球流向图的示例代码
Jan 08 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
May 26 Python
keras的siamese(孪生网络)实现案例
Jun 12 Python
Python项目跨域问题解决方案
Jun 22 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 Python
利用Python优雅的登录校园网
Oct 21 Python
使用python-cv2实现视频的分解与合成的示例代码
Oct 26 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针对多用户实现更换头像功能
2016/09/04 PHP
学习YUI.Ext 第三天
2007/03/10 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
jQuery多个input求和的实现方法
2015/02/12 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
详解VUE 数组更新
2017/12/16 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
Python 中 list 的各项操作技巧
2017/04/13 Python
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python获取指定字符前面的所有字符方法
2018/05/02 Python
python实现趣味图片字符化
2019/04/30 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python 错误处理 assert详解
2020/04/20 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
中学老师的自我评价
2013/11/07 职场文书
结婚典礼证婚词
2014/01/08 职场文书
幼儿园教师备课制度
2014/01/12 职场文书
搞笑获奖感言
2014/01/30 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
《中国机长》观后感:敬畏生命,敬畏职责
2019/11/12 职场文书