学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程

Python3 之 PyMongo 的安装与使用 PyMongo 模块是 Python 对 MongoDB 操作的接口包,能够实现对 MongoDB 的增删改查及排序等操作。 阅读详情

MongoDB

MongoDB 将数据存储在类似 JSON 的文档中,使数据库非常灵活和可扩展。

PyMongo

Python 需要一个 MongoDB 驱动程序来访问 MongoDB 数据库。我将使用 MongoDB 驱动程序 PyMongo

建议您使用 PIP 来安装 PyMongo。PIP 很可能已经安装在您的 Python 环境中。将命令行导航到 PIP 的位置,然后键入以下内容:

python -m pip install pymongo

现在您已经下载并安装了一个 MongoDB 驱动程序。

测试 PyMongo

为了测试安装是否成功,或者如果您已经安装了 pymongo,请创建一个包含以下内容的 Python 页面:

demo_mongodb_test.py

import pymongo

创建数据库

要在 MongoDB 中创建数据库,首先创建一个 MongoClient 对象,然后指定一个带有正确 IP 地址和要创建的数据库名称的连接 URL。如果数据库不存在,MongoDB 将创建该数据库并与之建立连接。

示例

创建名为 mydatabase 的数据库:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["mydatabase"]

重要提示: 在 MongoDB 中,数据库在获得内容之前是不会被创建的!MongoDB 会等到您创建了至少一个文档(记录)的集合(表),然后才实际创建数据库(和集合)。

检查数据库是否存在

请记住:在 MongoDB 中,数据库在获得内容之前是不会被创建的

您可以通过列出系统中的所有数据库来检查数据库是否存在:

示例

返回系统数据库的列表:

print(myclient.list_database_names())

或者您可以通过名称检查特定数据库:

示例

检查 mydatabase 是否存在:

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")

创建集合

要在 MongoDB 中创建集合,请使用数据库对象并指定要创建的集合的名称。如果集合不存在,MongoDB 将创建该集合。

示例

创建名为“customers”的集合:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]

mycol = mydb["customers"]

重要提示: 在 MongoDB 中,集合在获得内容之前是不会被创建的!MongoDB 会等到您插入了一个文档后,才实际创建集合。

检查集合是否存在

请记住:在 MongoDB 中,集合在获得内容之前是不会被创建的。因此,如果这是您第一次创建集合

您可以通过列出所有集合来检查数据库中是否存在集合:

示例

返回数据库中所有集合的列表:

print(mydb.list_collection_names())

或者您可以按名称检查特定集合:

示例

检查“customers”集合是否存在:

collist = mydb.list_collection_names()
if "customers" in collist:
  print("The collection exists.")

插入集合

要将记录(在 MongoDB 中称为文档)插入集合,我们使用 insert_one() 方法。insert_one() 方法的第一个参数是一个包含文档中每个字段的名称和值的字典。

示例

在“customers”集合中插入一条记录:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "John", "address": "Highway 37" }

x = mycol.insert_one(mydict)

返回 _id 字段

insert_one() 方法返回一个 InsertOneResult 对象,该对象有一个属性 inserted_id,该属性保存插入文档的 id。

示例

在“customers”集合中插入另一条记录,并返回 _id 字段的值:

mydict = { "name": "Peter", "address": "Lowstreet 27" }

x = mycol.insert_one(mydict)

print(x.inserted_id)

如果您未指定 _id 字段,MongoDB 将为您添加一个并为每个文档分配唯一的 id。在上面的示例中,未指定 _id 字段,因此 MongoDB 为记录(文档)分配了唯一的 _id。

插入多个文档

要在 MongoDB 的集合中插入多个文档,我们使用 insert_many() 方法。insert_many() 方法的第一个参数是包含要插入数据的字典的列表。

示例

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "name": "Amy", "address": "Apple st 652"},
  { "name": "Hannah", "address": "Mountain 21"},
  { "name": "Michael", "address": "Valley 345"},
  { "name": "Sandy", "address": "Ocean blvd 2"},
  { "name": "Betty", "address": "Green Grass 1"},
  { "name": "Richard", "address": "Sky st 331"},
  { "name": "Susan", "address": "One way 98"},
  { "name": "Vicky", "address": "Yellow Garden 2"},
  { "name": "Ben", "address": "Park Lane 38"},
  { "name": "William", "address": "Central st 954"},
  { "name": "Chuck", "address": "Main Road 989"},
  { "name": "Viola", "address": "Sideway 1633"}
]

x = mycol.insert_many(mylist)

#

 打印插入文档的 _id 值的列表:
print(x.inserted_ids)

insert_many() 方法返回一个 InsertManyResult 对象,该对象有一个属性 inserted_ids,该属性保存插入文档的 id。

插入多个文档,指定ID

如果您不希望 MongoDB 为您的文档分配唯一的 id,可以在插入文档时指定 _id 字段。请记住,值必须是唯一的。两个文档不能具有相同的 _id。

示例

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mylist = [
  { "_id": 1, "name": "John", "address": "Highway 37"},
  { "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
  { "_id": 3, "name": "Amy", "address": "Apple st 652"},
  { "_id": 4, "name": "Hannah", "address": "Mountain 21"},
  { "_id": 5, "name": "Michael", "address": "Valley 345"},
  { "_id": 6, "name": "Sandy", "address": "Ocean blvd 2"},
  { "_id": 7, "name": "Betty", "address": "Green Grass 1"},
  { "_id": 8, "name": "Richard", "address": "Sky st 331"},
  { "_id": 9, "name": "Susan", "address": "One way 98"},
  { "_id": 10, "name": "Vicky", "address": "Yellow Garden 2"},
  { "_id": 11, "name": "Ben", "address": "Park Lane 38"},
  { "_id": 12, "name": "William", "address": "Central st 954"},
  { "_id": 13, "name": "Chuck", "address": "Main Road 989"},
  { "_id": 14, "name": "Viola", "address": "Sideway 1633"}
]

x = mycol.insert_many(mylist)

# 打印插入文档的 _id 值的列表:
print(x.inserted_ids)

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

在Python中使用pymongo操作mongodb 最近在学习Python爬虫,平常将爬取的数据都存入Excel表格中,但是当数据量大的时候存取和查、删、改就不方便了,这时数据库就是你很好的选择了(其实我就是觉得使用Excel好low而已),在学习的过程中开始接触mongodb这个数据库,mongodb是一种非关系型数据库,数据存取的形式与Python中的字典很相似,所以在Python中使用mongodb是一个不错的选择,废话不多说,下面总结一下我最 阅读详情

相关推荐

Ubuntu安装MongoDB,并通过pip安装python pymongo驱动、简单使用

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。 step1 : 下载二进制包 step2 : 解压 tar zxvf mongodb-

Utopia的专栏 5224

使用 Python 操作 MongoDB

我们也可以使用 limit() 方法限制查询结果的数量,使用 sort() 方法对查询结果进行排序,使用 count() 方法获取查询结果的数量。在上面的代码中,我们使用 delete_one() 方法删除 customers 集合中 name 字段为 John 的文档,并使用 deleted_count 属性获取删除的文档数量。在上面的代码中,我们使用 find() 方法查询 customers 集合中 name 字段为 John 的文档,并使用 for 循环遍历查询结果。

weixin_47831992的博客 3267

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

MongoDB 是一个基于分布式存储的数据库,由 C++ 语言编写的NoSQL非关系数据库。非关系型数据库NoSQL,即Not Only SQL,意即“不仅仅是SQL”,通常指数据以对象的...

吾非同 765

Python操作MongoDB数据库

Python操作MongoDB数据库

醉蕤的博客 4566

【python】在Python中操作MongoDB的详细用法教程与实战案例分享

MongoDB是一个高性能、开源、无模式的文档型数据库,非常适合存储JSON风格的数据。Python作为一种广泛使用的编程语言,通过PyMongo库可以方便地与MongoDB进行交互。本文将详细介绍如何在Python中使用PyMongo库来操作MongoDB数据库,包括连接数据库、创建数据库和集合、插入数据、查询数据、更新数据和删除数据等基本操作。

景天科技苑 2157

100天精通Python(进阶篇)——第40天:pymongo操作MongoDB数据库基础+代码实战

文章目录每篇前言一、安装pymongo库二、数据库操作1、连接数据库2、数据库操作3、集合操作4、插入文档插入一个文档插入多个文档插入指定 _id 的多个文档5、查看文档查询一条数据查询集合中所有数据查询指定字段的数据根据指定条件查询高级查询使用正则表达式查询返回指定条数记录6、修改文档修改一条修改全部7、删除数据输出一个文档删除多个文档删除集合中的所有文档删除集合8、排序升序降序 每篇前言 🏆🏆作者介绍:Python领域优质创作者、华为云享专家、阿里云专家博主、2021年优快云博客新星Top6 .

努力让自己发光,对的人才能迎着光而来 16万+

Python使用pymongo连接MongoDB数据库并进行操作

使用Pycharm编写python代码连接mongodb,创建数据库,创建集合(集合是指形如mysql中的sql数据表)等操作。

qq_45268814的博客 8576

使用PyMongo在Python中操作MongoDB的完整指南

本文还有配套的精品资源,点击获取 简介:MongoDB是一个高性能、高可用性和可扩展性的NoSQL文档数据库,通过Python驱动程序PyMongo,开发者可以轻松地在Python中操作MongoDB。本文将深入探讨使用PyMongo进行数据库连接、文档创建、数据操作和高级功能使用的步骤和方法。包括了数据库连接、创建数据库和集合、文档的插入、查询、更新和删除等基本操作,以及...

weixin_42168902的博客 8111

MongoDB - Python操作MongoDB:pymongo库的详细使用教程

✂️ 摘要生成(150字以内): 本文详细介绍了Python中使用pymongo库操作MongoDB数据库的方法。从环境搭建到CRUD实战,涵盖连接管理、数据插入(单条/批量)、条件查询(ID查找、范围过滤、正则匹配)、更新(部分修改/替换)和删除操作。通过用户管理系统的完整示例,演示了文档型数据库的灵活特性,并提供性能优化建议。文中包含Java(Spring Data)代码对照,适合Python开发者快速掌握MongoDB交互技巧,构建高效的数据驱动应用。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

详解相机的sensor工作原理

目录sensor成像原理拜尔马赛克变换(BAYER DEMOSAICING)维伦阵列摩尔纹 sensor成像原理 相机或摄像头使用数百万个微小的光腔(感光元件)来记录图像。 成像时,sensor将镜头投射来的光子储存为模拟电信号。 曝光完成后,相机关闭这些光腔(感光元件),然后通过测量模拟电信号的强度来评估每个腔中有多少光子掉入来计算数字电信号的数值。 然后模拟电信号转换为数字电信号,数字电信号的数值由位深度决定(RGB的位深度)。 最后,根据正在记录的文件格式(8位JPEG位0-255),可能会再次降低

路人coder 2万+

别再乱改grub.cfg了!手把手教你用GRUB2自定义多系统启动菜单(含UEFI/BIOS双模式配置)

本文详细介绍了如何安全、高效地使用GRUB2自定义多系统启动菜单,涵盖UEFI/BIOS双模式配置。通过避免直接编辑grub.cfg文件,采用正确的配置方法和命令,帮助用户打造稳定且美观的启动环境,特别适合Linux多系统用户和开发者。

weixin_42553471的博客 590

猫头虎分享:Python库 PyMongo 的简介、安装、用法详解入门教程

PyMongo是MongoDB与Python连接的官方推荐库。它提供了简单易用的API,支持各种高级的 MongoDB 操作。本文将全面介绍 PyMongo 的安装配置及其基本用法,并展示一些实际的代码案例。如果你正在从事人工智能或大数据开发,MongoDB 和 PyMongo 无疑是高效管理和操作大规模数据的理想选择。MongoDB是一个基于分布式架构的 NoSQL 数据库,它使用灵活的 BSON(Binary JSON)格式存储数据,特别适合处理不定结构的海量数据。在大数据和。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+

精确时钟同步协议ptp/IEEE-1588v2协议-------(1)简介

ptp, 1588V2, IEEE-1588, 精确时钟同步协议

meihualing的专栏 5361

python使用pymongo读写mongodb

转载请注明出处:python使用pymongo读写mongodb 准备工作 在开始之前,请确保已经安装好了MongoDB并启动了其服务,并且安装好了Python的PyMongo库。 PyMongo介绍 Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。 官方文档 http://api.mongodb.com/python/current/a...

直到世界的尽头 7556

基于RK3562J开发板的MCP2518FD CAN-FD控制器驱动适配与测试指南

本文详细介绍了在RK3562J开发板上适配MCP2518FD CAN-FD控制器驱动的完整流程。内容涵盖内核驱动配置、设备树修改、编译烧录以及实际通信测试,重点分享了调试方法,旨在帮助开发者快速为嵌入式系统扩展高速CAN-FD通信能力,适用于汽车电子、工业控制等场景。

jenkins8butler的博客 496

红日-VulnStack靶场-ATT&CK(二):从Weblogic漏洞到域控渗透实战

本文详细解析了红日安全团队VulnStack靶场中从Weblogic漏洞到域控渗透的完整攻击链。通过实战演示Weblogic反序列化漏洞利用、Cobalt Strike持久化控制、域内信息收集及PsExec横向移动等关键技术,复现了企业内网渗透的典型场景,并提供了防御建议。

tgb3456789的博客 937

使用Python操作MongoDB

...

wanger5354的博客 9392

【我的Android进阶之旅】解决android应用使用android:persistent属性带来的系统Launcher应用必须重启设备才生效的问题,大幅度提升开发效率

一、问题描述 我们在开发系统级别应用,比如Launcher桌面的时候,会发现有个问题:每次Launcher修改完代码,重新编译之后,安装到android设备上之后,必须重启才会生效。否则就是使用了之前的Launcher版本的内容。而每次重启设备得一分钟左右,太慢了,太影响效率了! 1.1 痛点 每次更新完代码,重新安装之后,必须重启设备才会生效。效率太TM低了! 二、分析问题 经过一轮代码排查,最终发现是因为src\main\AndroidManifest.xml文件中,定义application使用了an

字节卷动 1715

Python与MongoDB集成教程:使用PyMongo进行数据操作

本教程详细介绍了如何使用Python的PyMongo库操作MongoDB数据库。内容涵盖环境准备(安装MongoDB和PyMongo)、数据库连接(包括认证连接)、CRUD操作(文档插入、查询、更新和删除)以及进阶主题(游标使用、错误处理等)。通过示例代码展示了PyMongo的核心功能,包括insert_one()、find()、update_many()等常用方法的使用方式。教程特别强调了错误处理和连接关闭等最佳实践,适合Python开发者快速掌握MongoDB基础操作。全文采用"数据库-集合-

weixin_42107409的博客 1466

linux那些事之numa balance

numa balance numa balance是页迁移技术最重要也是最开始使用应用的技术,主要是为解决由于调度器进程在两个node迁移造成访问内存性能问题。 numba balance通过页迁移技术,将不在运行节点的内存迁移到所运行的节点上。对应numa balance要注意几点: 防止进程在两个节点之前来回切换造成频繁进行页迁移(ping pang现场)从而影响性能。numa balance本身就是为了提高性能,不能因为造成频繁页迁移而对性能进行一个反向优化。 多个线程分布在不同线程 访.

weixin_42730667的博客 3909

OpenClaw常见4大赋能工作场景

OpenClaw不仅仅是一个AI工具,更像是个人与企业的“数字操作系统”——它连接大模型与真实世界,让“思考”与“行动”无缝闭环。

王国平的博客 629

【MongoDB】在 Python 中如何使用 MongoDB:通过官方支持的 PyMongo 库

在 Python 中使用 MongoDB 主要通过官方支持的 PyMongo 库来实现。PyMongo 是一个功能强大的 Python 驱动程序,允许你连接到 MongoDB 数据库并执行 CRUD 操作(创建、读取、更新、删除)、聚合查询等。本文是详细的指南,涵盖安装、连接、基本操作以及一些高级用例,帮助你快速上手在 Python 中使用 MongoDB。

彬彬侠的博客 1730

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

PyMongo 库使用基础使用速成教程

为什么要使用 MongoDB 以及 Pymongo 在程序开发实践中,除了学习代码、算法之外,其他开发有用的程序一定离不开数据库。然而,传统的 CS 专业里面教授数据库往往会从 SQL 数据库开始学起,但是,要使用 SQL 数据库,那么第一步一定离不开如何建表,设置字段、设置键的类型等,而作为初学者,加上没有真是的项目背景的情况下,数据库的设计往往只能是那种一个 User 用户表,然后再...

SpeculateCat 6701

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Windows环境下Python集成MongoDB教程:安装与PyMongo实践

我已引导您成功地在Windows系统上安装了MongoDB Community Server和PyMongo,并验证了Python与MongoDB的集成。您现在已经拥有了一个功能完善的MongoDB开发环境。这份教程侧重于环境搭建,但MongoDB和PyMongo的功能远不止于此。深入学习PyMongo的CRUD操作:掌握等方法,以及各种查询操作符和更新操作符。探索MongoDB的核心概念:包括索引、聚合框架、复制集和分片,这将帮助您设计高性能、高可用的数据库解决方案。实践数据模型设计。

weixin_42107409的博客 1194

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python使用pymongo库进行连接Mongodb数据库、设置数据库连接池等

关于Mongodb的使用,在我的Python全栈学习笔记专栏网络爬虫篇已经介绍过了,这边的话继续完整的整合下,增加新的知识点内容。MongoDB是基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。

唤醒手腕 1万+
上一篇: 深入了解 Python MongoDB 查询:find 和 find_one 方法完全解析
下一篇: 一文详解Python文件读写
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值