Python pymongo模块常用操作分析

作者:每天1990 时间:2021-06-13 11:01:05 

本文实例讲述了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程序设计有所帮助。

来源:https://www.cnblogs.com/meitian/p/4623217.html

标签:Python,pymongo模块
0
投稿

猜你喜欢

  • 基于信息排序的信息理解

    2008-05-16 10:37:00
  • 一文带你了解Go语言标准库math和rand的常用函数

    2024-02-22 07:24:24
  • Javascript浅拷贝与深拷贝实现

    2013-07-16 22:47:46
  • Python教程之全局变量用法

    2023-12-18 11:55:35
  • pytorch查看torch.Tensor和model是否在CUDA上的实例

    2023-06-16 16:41:22
  • python抓取并保存html页面时乱码问题的解决方法

    2022-06-06 21:41:40
  • PHP5在Apache下的两种模式的安装

    2023-11-24 05:18:08
  • JS分割字符串并放入数组的函数

    2023-08-05 15:31:03
  • PyTorch两种安装方法

    2022-04-16 04:11:50
  • Python对XML文件实现增删改查操作

    2023-11-19 20:42:03
  • JS实现动画中的布局转换

    2023-10-14 15:58:04
  • python+openCV对视频进行截取的实现

    2023-01-18 22:27:53
  • 10个提高网站可用性的实用技巧[译]

    2009-06-12 12:37:00
  • 基于Python编写简易版的天天跑酷游戏的示例代码

    2023-10-23 01:10:11
  • 如何做一个只搜索本网站的引擎?

    2010-07-12 19:02:00
  • 网页的栅格设计思考

    2007-11-09 10:33:00
  • mysql 月份查询该月有付款的数据

    2024-01-19 08:37:37
  • MySQL 加密/压缩函数

    2024-01-23 23:51:14
  • Python的几个高级语法概念浅析(lambda表达式闭包装饰器)

    2021-08-07 14:18:45
  • python orm 框架中sqlalchemy用法实例详解

    2021-04-22 18:03:28
  • asp之家 网络编程 m.aspxhome.com