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
二、insert
,insert_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程序设计有所帮助。
来源:https://www.cnblogs.com/meitian/p/4623217.html
猜你喜欢
- 本文实例讲述了PHP中使用addslashes函数转义的安全性原理分析。分享给大家供大家参考。具体分析如下:先来看一下ECshop中adds
- 字符串的相似性比较应用场合很多,像拼写纠错、文本去重、上下文相似性等。评价字符串相似度最常见的办法就是:把一个字符串通过插入、删除或替换这样
- 本文实例讲述了Python多进程分块读取超大文件的方法。分享给大家供大家参考,具体如下:读取超大的文本文件,使用多进程分块读取,将每一块单独
- 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保
- 本篇内容通过GitHub仓库创建过程以及创建连接后的上传与下载,详细介绍了Git版本控制器使用情况,来看下。首先介绍一下什么是Git:git
- 本文实例讲述了Python实现桶排序与快速排序算法结合应用的方法。分享给大家供大家参考,具体如下:#-*- coding: UTF-8 -*
- CSS hack是指我们为了兼容各浏览器,而使用的特别的css定义技巧。这是国外摘来的一张CSS hack列表,显示了各浏览器对css ha
- 在学习和使用各种数据库的过程中,我们常常会遇到聚族索引、非聚族索引、组合索引的概念,这些索引对我们使用数据库,特别是查询的速度的
- 类的参数定义将conda环境设置为ai,conda activate ai这个文件的由来:由于在yolov1的pytorch实现的损失函数中
- var InterestKeywordListString = $("#userInterestKeywordLabel"
- 本文实例讲述了Python3.5 Pandas模块之Series用法。分享给大家供大家参考,具体如下:1、Pandas模块引入与基本数据结构
- Socket服务器是网络服务中常用的服务器。使用go语言实现这个业务场景是很容易的。这样的网络通讯,需要一个服务端和至少一个客户端。我们计划
- Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁, 但又非常灵活,而且容易
- 写在前面 众所周知python拥有众多的第三方库,据不完全统计python有1w多个第三方库(为什么是不完全统计,因为我也记不清了☺),
- XmlDocume
- 如下所示:#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.&
- PHP Warning: strtotime(): It is not safe to rely on the system's t
- 有感于中国互联网设计界十几年的变化,从网页设计师变身界面设计师,和近一两年来兴起的转型交互设计师。大多数都是随着一个行业的兴起而前赴后继的投
- 本文实例讲述了python计算时间差的方法。分享给大家供大家参考。具体分析如下:1、问题:给定你两个日期,如何计算这两个日期之间间隔几天,几
- 简介这里通过python的绘图工具Matplotlib包可视化实现机器学习中的KNN算法。 需要提前安装python的Numpy和Matpl