Python操作MongoDB

mongodb and python 英文原版书籍,详细介绍了如何在Python环境下使用MongoDB 立即下载

Python操作MongoDB

一 安装 pymongo

pip  install  pymongo==3.4

导入 MongoClient
from pymongo import MongoClient

二 连接MongoDB数据库

MongoDB端口号:27017
连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017。
conn= MongoClient("localhost")

三 选择数据库

连接数据库
    db = conn.数据库名
连接集合
	collection = db['表名']
	or
	collection = db.表名
查看表
    db.collection_names()

四 INSERT 数据的插入

(1) 插入一条数据
db.collection.insert({'name':'大坏蛋','age':23})

插入成功:返回ID
(2) 插入多条

​ db.collection.insert([{‘name’:‘大坏蛋’,‘age’:23},{‘name’:‘猪队友’,‘age’:30}])

​ 插入成功:返回ID的列表

​ [ObjectId(‘5a1642c4b96166349c2963eb’), ObjectId(‘5a1642c4b96166349c2963ec’)]

(3) 3.2以上的插入函数

​ db.collection.insert_one() 插入一条数据

​ db.collection.insert_many() 插入多条数据,插入成功:返回obj

(4) 3.2以上获取插入的id

​ db.collection.insert_one()返回的就是id

​ res = db.collection.insert_many() #返回的是对象

​ 可以通过res.inserted_ids获取插入多条的ID

五 find 查询

(1) find 查询
res = db.user.find()  #返回的是游标对象 使用next() 方法 进行取值
print(res.next());
print(list(res));  #显示全部

#遍历
for obj in res:
    print(obj)
(2) 查询一条
res = db.user.find_one(条件) #返回一条记录
(3) 条件查询
res = db.user.find({"name":"张三"})
for obj in res:
    print(obj)
(4)id查询
from bson.objectid import ObjectId* #用于ID查询
data = db.user.find({"_id":ObjectId("59a2d304b961661b209f8da1")})
(5)模糊查询

​ MongoDB查询条件可以使用正则表达式,从而实现模糊查询的功能。模糊查询可以使用$regex操作符或直接使 用正则表达式对象。

  1. $regex
  2. re.compile()

    import re 使用 re.compile()

    MySQLMongoDB
    select * from student where name like ’%joe%’db.student.find({name:{"$regex":“坏”}})
    select * from student where name regexp ’joe’db.student.find({“name”:re.compile(“坏”))
    import re
    data = db.user.find({"name":{"$regex":"五"}})
    data = db.user.find({"name":re.compile("五")})
    

注意 当匹配类型为 不是字符串的类型的时候 匹配不出来
data = db.user.find({“age”:re.compile(“30”)})
data = db.user.find({“age”:{"$regex":“3”}})
ret = collection.find({‘name’:re.compile(r’^郭’)})

(6) sort 排序
#sort 排序
data = db.user.find().sort("age",1)  #按照年龄升序
data = db.user.find().sort("age",-1)  #按照年龄降序
for i in data:
     print(i)

(7) limit 取值
#limit 取值
print(next(db.user.find().sort("age",-1).limit(1)))  #取出年龄最大的一条数据
(8) skip 跳过
#skip   跳过最大值 取第二大值
print(next(db.user.find().sort("age",-1).skip(1).limit(1)))  #取出年龄最大的一条数据

六 update 修改

(1) db.collection.update(条件,更改)
data = db.user.update({"name":"潘金莲"},{"$inc":{"age":2}})  #累加修改
data = db.user.update({"name":"潘金莲"},{"$set":{"age":2}})  #直接修改

更改成功 返回 数据:{'n': 1, 'nModified': 1, 'ok': 1.0, 'updatedExisting': True}
(2) update_one() 修改一条数据
data = db.user.update_one({"name":"王五"},{"$set":{"age":20}})
(3) update_many() 修改多条数据
data = db.user.update_one({"name":"王五"},{"$set":{"age":20}})  #修改多条
(4) update_one 和 update_many 返回匹配条数和修改的条数
result.matched_count 		返回匹配条数
result.modified_count	    返回修改的条数

七 remove 删除

(1) remove 匹配到的全部删除

​ db.collection.remove({条件})

(2) 删除全部数据

​ db.collection.remove()

(3) 依然存在两个新的推荐方法
delete_one()和delete_many()方法,示例如下:

delete_one()即删除第一条符合条件的数据
collection.delete_one({“name”:“ Kevin”})

delete_many()即删除所有符合条件的数据,返回结果是DeleteResult类型
result = collection.delete_many({“age”: {'$lt':25}})

可以调用deleted_count属性获取删除的数据条数。
result.deleted_count

八 关闭数据库链接

conn.close()

MATLAB仿真实战:双有源桥(DAB)变换器的扩展移相调制(EPS)全流程解析 本文提供了一份详细的MATLAB/Simulink仿真实战指南,手把手解析双有源桥(DAB)变换器在扩展移相调制(EPS)下的全流程建模。内容涵盖从核心原理、主功率电路搭建、EPS驱动信号生成,到仿真运行、波形分析及模型优化的完整步骤,旨在帮助工程师和研究者快速掌握DAB变换器的仿真与性能验证方法。 阅读详情

相关推荐

MATLAB新手必看:SVPWM七段式算法仿真全流程解析(附完整代码)

本文为MATLAB新手和电机控制初学者提供了SVPWM七段式算法的完整仿真与代码实现指南。文章详细解析了从扇区判断、矢量作用时间计算到PWM波形生成的全流程,并附带了可直接运行的MATLAB代码,帮助读者在理解FOC控制核心算法的基础上,快速掌握工程仿真与调试技巧。

weixin_29074295的博客 281

关于Mongodb的模糊查询

关于Mongodb的模糊查询 Mongodb原生的模糊查询为: db.news.find({'title':/123/}) //注意不要是 ‘/123/’,否则就是精准匹配 pymongo中的模糊查询为: db.news.find({'xxx':{'$regex':'xxx'}}) //regex相当于mysql中的 like 也可以使用python中内置的re模块: ** import re ...

weixin_44087528的博客 1376

通达信K线主图指标公式实战:如何用颜色标记快速识别涨停与炸板信号

本文详细介绍了如何利用通达信K线主图指标公式,通过颜色标记快速识别涨停与炸板等关键信号。通过实战拆解公式源码,手把手教您构建直观的“视觉交易系统”,将复杂的K线形态转化为醒目的颜色信号,帮助投资者高效聚焦机会与风险,提升技术分析效率。

weixin_29302047的博客 1764

python模糊查询mongodb_Python札记 -- MongoDB模糊查询

最近在使用MongoDB的时候,遇到了使用多个关键词进行模糊查询的场景。竹风使用的是mongoengine库。查了各种资料,最后总结出比较好用的方法。先上代码,后面进行详细说明。如下:1 #!/usr/bin/env python2 #coding:utf-834 importre5 importmongoengine6 from mongoengine import *78 mongoengin...

weixin_39804631的博客 536

C#与发那科机器人通信实战:从SDK配置到机械臂控制

本文详细介绍了如何使用C#与发那科机器人进行通信,从SDK配置到机械臂控制的完整实战流程。内容包括环境准备、通信连接建立、机械臂运动控制、异常处理与状态监控,以及高级功能实战,帮助开发者快速掌握工业机器人编程技术。

weixin_42524276的博客 459

PCL:SAC-IA+ICP配准

【代码】SAC-IA+ICP配准。

m0_71596228的博客 1018

字符串模式匹配选re.match还是re.compile

个人见解和建议 如果使用者不在乎字符串模式匹配的时效性,或者pattern只使用一次,选re.match。因为re.match使用方法比较容易理解和掌握,也比较清晰明了 如果使用者非常在乎时效性,同时同一个pattern需要使用多次,那就强烈建议,先使用re.compile将pattern编译成字节码对象OBJ(该对象可以作为dict的key存储),然后再用OBJ.match()方法进行字符串模式匹配。 踩坑实测:我的应用场景属于第二种。耗时统计如下,使用compile带来的时效性提升,自己体会0.0。

manduner的博客 1147

大厂硬件笔试机试题ASIC设计方向-卷3

本文提供了30道硬件工程师机试题目,涵盖数字逻辑、模拟电路、CMOS和信号处理等核心领域。选择题和判断题均配有详细解析,重点考察Verilog编程、CMOS特性、触发器设计、采样定理等知识点。题目难度适中但覆盖面广,如Verilog中阻塞/非阻塞赋值的区别、CMOS静态功耗来源、Nyquist采样定理、通用逻辑门判断等。备考建议强调掌握逻辑门设计、Verilog时序电路编写和CMOS特性理解。这些题目反映了华为等大厂硬件机试的典型考查内容,通过系统复习可有效提升机试成绩,为后续面试奠定基础。

启芯硬件的博客 545

Python操作MongoDB看这一篇就够了

MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活。在这一节中,我们就来看看Python 3下MongoDB的存储操作。 1. 准备工作 在开始之前,请确保已经安装好了MongoDB并启动了其服务,并且安装好了Python的PyMongo库。 2. 连接Mon...

weixin_45722061的博客 1793

【AVRCP】规范精讲[19]: 媒体属性全解析,让你的蓝牙设备显示完整歌曲信息

AVRCP协议中的媒体属性是蓝牙音频设备传输歌曲元数据的关键,包含标题、艺术家、专辑等32位ID标识的键值对信息。规范要求字符串属性必须使用UTF-8编码,但乱码问题频发(如中文显示异常),主因是设备未遵循编码标准或使用GBK等非规范格式。常见问题包括信息不全(仅显示标题)、封面缺失(因带宽限制或格式不支持)及更新延迟(通知机制未启用)。解决方案包括强制UTF-8编码、优化封面大小(如300x300像素JPEG)、主动请求缺失属性。Android示例代码展示了通过广播接收器解析媒体属性的方法。

byte轻骑兵的技术小窝 1万+

15、降维算法:原理、实现与应用

本文深入介绍了多种降维算法,包括线性方法如主成分分析(PCA)和线性判别分析(LDA),以及非线性方法如Sammon映射、t分布随机邻域嵌入(t-SNE)和自编码器。文章通过C++库Dlib和Shogun展示了这些算法的具体实现,并结合图像压缩和数据可视化等实际案例,分析了不同算法的适用场景。此外,还探讨了降维算法的选择策略、优化改进方法以及未来发展趋势,为读者提供了全面的技术理解和应用指导。

lemon的博客 115

python操作MongoDB

(一)安装 Python MongoDB 驱动程序安装MongoDB驱动(在 Python 中使用 MongoDB 之前必须先安装用于访问数据库的驱动程序) (二)检查驱动 在 python 交互模式下导入 pymongo,检查驱动是否已正确安装: (三)创建连接(连接到MongoDB) 使用驱动连接到 MongoDB 集群只需要指定 MongoDB 连接字符串即可。其基本格式可以参考官方文档:Connection Strings - MongoDB Manual v8.0最简单的形

YY20210219的博客 1211

高级技能-高可用和容灾-两地三中心、异地多活架构

两地三中心和异地多活是当前主流的跨地域高可用架构方案。两地三中心通过生产中心、同城灾备和异地灾备的组合,提供多级容灾能力,适合对数据安全要求高的行业。异地多活则采用单元化设计,多个站点同时服务,提升资源利用率,但需解决网络延迟、数据冲突等挑战。两种架构在RTO/RPO、一致性、改造成本等方面各具特点,企业应根据业务规模、一致性要求和预算进行选择,可考虑从同城双活起步,逐步向异地多活演进。混合架构可能是平衡容灾与多活的务实方案。

zhongjianfeng100的博客 169

使用Python操作MongoDB

...

wanger5354的博客 9391

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python 操作 MongoDB 教程

通过本教程,你可以即快速又全面学习了如何在 Python 中使用pymongo。

北京锋通科技有限公司的技术blog 2193

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【Python】PyMongo:MongoDB操作

MongoDB 是一种(非关系型)数据库,它以**文档(document)**的形式存储数据,而不是传统的表格形式。MongoDB 是开源的、高效的,尤其适用于需要处理大量数据和快速变化的数据场景。它的设计目标是提供灵活性、可扩展性和高性能。

2303_80346267的博客 2620

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

通过 python 操作mongodb

insert_many() 方法返回 InsertManyResult 对象,该对象包含 inserted_ids 属性,该属性保存着所有插入文档的_id 值。我们可以使用 delete_many() 方法来删除多个文档,该方法第一个参数为查询对象,指定要删除哪些数据。我们可以使用 delete_one() 方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。delete_many() 方法如果传入的是一个空的查询对象,则会删除集合中的所有文档。insert_one为插入单个文档。

m0_55237808的博客 1384

Python 操作 MongoDB 的最佳方法

通过 PyMongo,Python 开发者可以轻松地与 MongoDB 进行交互。无论是插入、查询、更新还是删除数据,PyMongo 都提供了简单易用的 API。遵循最佳实践可以进一步提升代码的质量和性能。希望本文能帮助你在项目中更好地利用 Python 和 MongoDB 的组合。```

2501_91117732的博客 1223

用Python操作MongoDB,看这一篇就够了

选项justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。数据存储不需要固定模式,不需要多余操作就可以横向扩展,低成本,没有复杂的关系,安装简单,支持各种编程语言等。结构化数据,定好了表结构后,每一行的内容,必是符合表结构的,就是说--列的个数,类型都一样。接收一个字典形式的条件,返回字典形式的整条数据,如果条件为空,则返回第一条。可以使用update方法修改数据,但在pymongo中,官方推荐使用。

NHB456789的博客 3278

python操作mongodb语法_Python操作mongodb

1.安装mogodb客户端备注:请勿勾选一下选项 不然会等半天 也不一定能安装上安装成功后:启动mogo.exe即可:mogodb的基础语法和基本知识 自行解决 后期会发布关于它的高级用法和优化 以及使用场景为了方便理解对此做如下说明:1.use 命令相当于是创建了数据库,但是前置条件是有这个数据库就是使用它 没有则直接创建它(如果没有向里插入数据 该数据库是不会显示的) eg:use spid...

weixin_39768762的博客 188

Python操作MongoDB数据库

Python操作MongoDB数据库

醉蕤的博客 4564

mongodb的python访问_python操作mongodb

下载python中MongoDB的驱动程序pip install pymongo然后确保MongoDB已经安装且可以正常运行,去官网下载相应版本:https://www.mongodb.com/mkdir -p /home/toolscd/home/toolswget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.2.tgz解压...

weixin_39774644的博客 140

python操作mongodb语法_python 操作MongoDB

安装MongoDB启动数据库:安装完成指定数据库存放路径 mongod.exe --dbpath c:\data\db进入目录后运行mongo.exe 成功创建数据库>use mydbswitched to db mydb>dbmydb> book = {"title":"from beginner to master", "author":"qiwsir", "lang":"p...

weixin_39928736的博客 344
上一篇: python操作Redis
下一篇: 爬虫基础
Are you ready
博客等级 码龄8年 312粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值