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里隐藏的“禅”
Jun 16 Python
python实现ping的方法
Jul 06 Python
python学习之编写查询ip程序
Feb 27 Python
使用python对excle和json互相转换的示例
Oct 23 Python
详解如何为eclipse安装合适版本的python插件pydev
Nov 04 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
深入了解Python iter() 方法的用法
Jul 11 Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 Python
Python requests模块cookie实例解析
Apr 14 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
python GUI计算器的实现
Oct 09 Python
Python读取文件夹下的所有文件实例代码
Apr 02 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
转换中文日期的PHP程序
2006/10/09 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
关于JavaScript中的关联数组分析
2013/04/09 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
超全面的vue.js使用总结
2017/02/12 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
Python help()函数用法详解
2014/03/11 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
Python实现的读写json文件功能示例
2018/06/05 Python
python requests post多层字典的方法
2018/12/27 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
Python爬虫 urllib2的使用方法详解
2019/09/23 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
Python 在局部变量域中执行代码
2020/08/07 Python
python获取linux系统信息的三种方法
2020/10/14 Python
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
写求职信有哪些注意事项
2014/05/08 职场文书
大学生毕业求职信
2014/06/12 职场文书
公司门卫工作职责
2014/06/28 职场文书
企业员工集体活动方案
2014/08/17 职场文书
超市店长竞聘书
2015/09/15 职场文书
你会写请假条吗?
2019/06/26 职场文书