Python pymongo模块常用操作分析

 更新时间:2018年09月01日 09:59:23   作者:每天1990  
这篇文章主要介绍了Python pymongo模块常用操作,结合实例形式分析了pymongo模块的导入、连接MongoDB数据以及插入、更新、删除、查询等操作相关实现技巧,需要的朋友可以参考下

本文实例讲述了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"}))

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

*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数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

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

相关文章

  • python数据类型之间怎么转换技巧分享

    python数据类型之间怎么转换技巧分享

    在本篇文章里小编给大家分享的是关于python数据类型之间怎么转换实例以及小技巧内容,有兴趣的朋友们参考下。
    2019-08-08
  • Python批量查询关键词微信指数实例方法

    Python批量查询关键词微信指数实例方法

    在本篇文章中小编给大家整理的是关于Python批量查询关键词微信指数实例方法以及相关代码,需要的朋友们可以跟着学习下。
    2019-06-06
  • python处理xls文件openpyxl基础操作

    python处理xls文件openpyxl基础操作

    这篇文章主要为大家介绍了python处理xls文件openpyxl基础操作,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • python完全卸载三种方法教程

    python完全卸载三种方法教程

    通常我们在卸载pyhton时会直接使用电脑自备的管家软件中的卸载功能,但是通常这并不会卸载干净,特别是当你卸载完python一个版本之后,重新安装另一个版本就会出错,这篇文章主要给大家介绍了关于python完全卸载三种方法的相关资料,需要的朋友可以参考下
    2023-09-09
  • python matplotlib画图实例代码分享

    python matplotlib画图实例代码分享

    这篇文章主要介绍了python matplotlib画图实例代码分享,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Python threading Local()函数用法案例详解

    Python threading Local()函数用法案例详解

    这篇文章主要介绍了Python threading Local()函数用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 利用python实现聚类分析K-means算法的详细过程

    利用python实现聚类分析K-means算法的详细过程

    K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大,下面通过本文给大家介绍利用python实现聚类分析K-means算法的详细过程,感兴趣的朋友一起看看吧
    2021-11-11
  • python多线程操作实例

    python多线程操作实例

    这篇文章主要介绍了python多线程操作实例,本文先是讲解了python多线程的相关知识、python多线程使用的两种方法等内容,需要的朋友可以参考下
    2014-11-11
  • 如何在Python中捕获finally语句中异常消息

    如何在Python中捕获finally语句中异常消息

    正常情况下,finally语句不会捕获异常,而是在异常处理完成后执行,那么如何在Python中捕获finally语句中异常消息呢,下面小编就来和大家详细聊聊
    2024-02-02
  • Python 中 Selenium 的 getAttribute() 函数详解

    Python 中 Selenium 的 getAttribute() 

    本文将解释如何使用Selenium的getAttribute()方法,getAttribute() 方法可以检索元素属性,例如锚标记的 href 属性, 该函数最初将尝试返回指定属性的值,感兴趣的朋友跟随小编一起看看吧
    2023-11-11

最新评论