openEuler安装MongoDB 8.2.7
实验报告
0 软件版本
> Linux版本:OpenEuler 24.03 SP2 LTS
> Hadoop版本:hadoop3.4.1
> HBase版本:hbase2.6.4
> MongoDB版本:8.2.7
> MongoDB Compass版本:1.45.4
> 参考链接:
安装MongoDB Community Edition - 数据库手册 - MongoDB Docs
MongoDB Compass Download (GUI) | MongoDB
MongoDB 8.0.3 手动安装指导 - Installation 安装部署 - openEuler 论坛
x MongoDB简介
x.1 概念
MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库,属于NOSQL 。
MongoDB 是一款介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的NOSQL数据库。它面向文档存储,而且安装和操作起来都比较简单和容易,而且它支持各种流行编程语言进行操作,如Python,Node.js,Java,C++,PHP,C#等。目前在大数据、内容管理、持续交付、移动应用、社交应用、用户数据管理、数据中心等领域皆有广泛被使用。
MongoDB是一个文档数据库,使用BSON(二进制JSON)格式来存储和查询数据。它是一个灵活、可扩展的数据库解决方案,适用于各种应用程序。MongoDB的特点包括:
l 动态模式: MongoDB使用动态模式,允许在不事先定义数据结构的情况下存储和处理数据。这种灵活性使得MongoDB适用于需要频繁更改数据模型的应用程序。
l 水平扩展: MongoDB支持数据的水平扩展,即通过分片技术将数据分割并存储在多个服务器上。这样可以提高数据库的性能和可用性。
l 高性能: MongoDB具有高性能的特点,它支持索引和复杂查询,能够快速地处理大量的读写操作。
x.2 MongoDB优势
MongoDb相对于RDBMS的优势:
1. 无固定结构 。
2. 数据结构由键值(key=>value)对组成。MongoDB 的文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,单个对象的结构是清晰的。
3. 没有复杂的表连接。不需要维护表与表之间的内在关联关系。
4. 查询功能强大。MongoDB的查询功能几乎与SQL一样强大,使用基于文档的查询语言,可以对文档进行动态查询。
5. 易于调优和扩展。具备高性能、高可用性及可伸缩性等特性
6. 应用程序对象与数据库对象天然对应。
7. 可以基于内存存储或者硬盘文件存储,提供丰富的查询操作和索引支持,也有事务操作,可以更快地更稳定的访问数据。(mongoDB4.0以后才真正支持所谓的多文档事务操作)。
x.3 术语对比
SQL Mongodb
----------------------------------------
库(database) 库(database)
表(Table) 集合(Collection)
行/记录(Row) 文档(Document)
列/字段(Col) 字段/键/域(Field)
主键(Primary Key) 对象ID(ObjectId)
索引(Index) 索引(Index)
-----------------------------------------
x.4 基本操作
命令
描述
db.help()
help on db methods 查看操作数据的方法
db.mycoll.help()
help on collection methods 查看集合的操作方法
sh.help()
sharding helpers 查看分片集share的帮助信息
rs.help()
replica set helpers 查看复制集的帮助信息
help admin
administrative help 查看管理的操作帮助信息
help connect
connecting to a db help
help keys
key shortcuts
help misc
misc things to know
help mr
mapreduce
show dbs
show database names 查看当前系统所有的数据库
show collections
show collections in current database 查看当前数据库所有的数据集合
show users
show users in current database 查看当前数据库中所有的管理员用户
show profile
show most recent system.profile entries with time >= 1ms
show logs
show the accessible logger names 查看全部日志
show log [name]
prints out the last segment of log in memory, ‘global’ is default 查看指定日志信息
use <db_name>
set current database 切换操作的数据库
db.mycoll.find()
list objects in collection mycoll 列出当前指定集合下的所有文档
db.mycoll.find({ a : 1 })
list objects in mycoll where a == 1 按条件查询指定集合下所有文档
it
result of the last line evaluated; use to further iterate 查看更多的查询结果,相当于下一页
DBQuery.shellBatchSize = x
set default number of items to display on shell 修改返回结果数据的单页显示数量,默认20条
exit
quit the mongo shell 退出终端
1 安装MongoDB
在Linux环境下,按照以下步骤安装 MongoDB Community Edition(社区版)。
1.1 下载安装包
Download MongoDB Community Server | MongoDB
# 查询系统架构
uname -m
openEuler安装MongoDB 8.2.7
实验报告
0 软件版本
> Linux版本:OpenEuler 24.03 SP2 LTS
> Hadoop版本:hadoop3.4.1
> HBase版本:hbase2.6.4
> MongoDB版本:8.2.7
> MongoDB Compass版本:1.45.4
> 参考链接:
安装MongoDB Community Edition - 数据库手册 - MongoDB Docs
MongoDB Compass Download (GUI) | MongoDB
MongoDB 8.0.3 手动安装指导 - Installation 安装部署 - openEuler 论坛
x MongoDB简介
x.1 概念
MongoDB 是由C++语言编写并基于分布式文件存储的开源数据库,属于NOSQL 。
MongoDB 是一款介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的NOSQL数据库。它面向文档存储,而且安装和操作起来都比较简单和容易,而且它支持各种流行编程语言进行操作,如Python,Node.js,Java,C++,PHP,C#等。目前在大数据、内容管理、持续交付、移动应用、社交应用、用户数据管理、数据中心等领域皆有广泛被使用。
MongoDB是一个文档数据库,使用BSON(二进制JSON)格式来存储和查询数据。它是一个灵活、可扩展的数据库解决方案,适用于各种应用程序。MongoDB的特点包括:
l 动态模式: MongoDB使用动态模式,允许在不事先定义数据结构的情况下存储和处理数据。这种灵活性使得MongoDB适用于需要频繁更改数据模型的应用程序。
l 水平扩展: MongoDB支持数据的水平扩展,即通过分片技术将数据分割并存储在多个服务器上。这样可以提高数据库的性能和可用性。
l 高性能: MongoDB具有高性能的特点,它支持索引和复杂查询,能够快速地处理大量的读写操作。
x.2 MongoDB优势
MongoDb相对于RDBMS的优势:
1. 无固定结构 。
2. 数据结构由键值(key=>value)对组成。MongoDB 的文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,单个对象的结构是清晰的。
3. 没有复杂的表连接。不需要维护表与表之间的内在关联关系。
4. 查询功能强大。MongoDB的查询功能几乎与SQL一样强大,使用基于文档的查询语言,可以对文档进行动态查询。
5. 易于调优和扩展。具备高性能、高可用性及可伸缩性等特性
6. 应用程序对象与数据库对象天然对应。
7. 可以基于内存存储或者硬盘文件存储,提供丰富的查询操作和索引支持,也有事务操作,可以更快地更稳定的访问数据。(mongoDB4.0以后才真正支持所谓的多文档事务操作)。
x.3 术语对比
SQL Mongodb
----------------------------------------
库(database) 库(database)
表(Table) 集合(Collection)
行/记录(Row) 文档(Document)
列/字段(Col) 字段/键/域(Field)
主键(Primary Key) 对象ID(ObjectId)
索引(Index) 索引(Index)
-----------------------------------------
x.4 基本操作
命令
描述
db.help()
help on db methods 查看操作数据的方法
db.mycoll.help()
help on collection methods 查看集合的操作方法
sh.help()
sharding helpers 查看分片集share的帮助信息
rs.help()
replica set helpers 查看复制集的帮助信息
help admin
administrative help 查看管理的操作帮助信息
help connect
connecting to a db help
help keys
key shortcuts
help misc
misc things to know
help mr
mapreduce
show dbs
show database names 查看当前系统所有的数据库
show collections
show collections in current database 查看当前数据库所有的数据集合
show users
show users in current database 查看当前数据库中所有的管理员用户
show profile
show most recent system.profile entries with time >= 1ms
show logs
show the accessible logger names 查看全部日志
show log [name]
prints out the last segment of log in memory, ‘global’ is default 查看指定日志信息
use <db_name>
set current database 切换操作的数据库
db.mycoll.find()
list objects in collection mycoll 列出当前指定集合下的所有文档
db.mycoll.find({ a : 1 })
list objects in mycoll where a == 1 按条件查询指定集合下所有文档
it
result of the last line evaluated; use to further iterate 查看更多的查询结果,相当于下一页
DBQuery.shellBatchSize = x
set default number of items to display on shell 修改返回结果数据的单页显示数量,默认20条
exit
quit the mongo shell 退出终端
1 安装MongoDB
在Linux环境下,按照以下步骤安装 MongoDB Community Edition(社区版)。
1.1 下载安装包
Download MongoDB Community Server | MongoDB
# 查询系统架构
uname -m

如本机输出:

选择tgz格式的CentOS 9.3 x64平台:

1.2 解压缩及改名
cd ~ # 进入hadoop用户的主目录,
cd 下载 # 注意Downloads,中文界面下可能是“下载”
# 解压缩文件至 /usr/local目录,注意文件名称与下载的版本一致
sudo tar -zxvf ./mongodb-linux-x86_64-rhel93-8.2.7 -C /usr/local
文件已经解压缩至 /usr/local/mongodb-linux-x86_64-rhel93-8.2.7文件夹下,接下来把文件夹修改为[ mongodb]
cd /usr/local/ # 进入文件夹
sudo mv ./mongodb-linux-x86_64-rhel93-8.2.7/ ./mongodb # 将文件夹改名
sudo chown -R hadoop ./mongodb # 修改文件权限

安装后mongodb8.2.7所在目录为:/usr/local/mongodb
1.3 创建数据目录
创建目录用于保存数据及日志:
cd /usr/local/mongodb
mkdir data
ls
cd data
mkdir db
mkdir log
1.4 创建mongodb.conf文件
创建config文件:
cd /usr/local/mongodb/
vim mongodb.conf
文件内容:
# mongod.conf
# for documentation of all options, see:
# Self-Managed Configuration File Options - Database Manual - MongoDB Docs
# Where and how to store data.
storage:
dbPath: /usr/local/mongodb/data/db
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/data/log/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
processManagement:
fork: true
# sharding:
# Enterprise-Only Options:
# auditLog:

1.5 配置环境变量
1、修改.bashrc文件:
cd ~
sudo vim ~/.bashrc
2、在末尾添加以下内容:
……
export MONGODB_HOME=/usr/local/mongodb/
export PATH=𝑃𝐴𝑇𝐻 :{MONGODB_HOME}/bin

3、使环境变量生效
source ~/.bashrc
1.6 启动 MongoDB
mongod --config /usr/local/mongodb/mongodb.conf

# 查看27017端口是否打开:
netstat -lntup|grep 27017

注意tcp协议是开放的,而不是http或https,不能在浏览器中打开。
可以用以下指令在防火墙上打开27017端口
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
附录:Linux防火墙指令
1、启动防火墙:
systemctl start firewalld
2、停止防火墙:
systemctl stop firewalld
3、重启防火墙:
firewall-cmd --reload
4、查看防火墙状态:
systemctl status firewalld
2 使用Navicat连接MongoDB
2.1 使用Navicat连接 MongoDB
输入所在电脑的IP,端口号27017,点击左下角“测试连接”:


在上图界面中新建数据库和集合等。
3 安装MongoDB Shell
以下操作在Windows下进行。
3.1 下载安装包
从官网下载最新版本:
MongoDB Shell Download | MongoDB
选择zip格式的Windows x64平台:

3.2 解压缩及改名
将压缩包(zip格式)解压后放置层级较浅的目录中,如下图:

目录为:D:\tools\mongosh-2.8.3-win32-x64。
把此目录下的bin目录添加到系统的环境变量中:D:\tools\mongosh-2.8.3-win32-x64\bin

在Windows下的CMD中,输入mongosh,显示如下信息:

表示无法连接到127.0.0.1,因为本机是Windows,不是OpenEuler,需要指定安装了Mongodb服务电脑的IP,指令:mongosh :

Mongosh 192.168.118.130:27017 # OpenEuler实际IP
3.3 数据库操作
l 查看当前数据库:db
l 显示数据库列表:show dbs
l 切换到指定数据库:use <database_name>
l 执行查询操作:db.<collection_name>.find()
l 插入文档:db.<collection_name>.insertOne({ … })
l 更新文档:db.<collection_name>.updateOne({ … })
l 删除文档:db.<collection_name>.deleteOne({ … })
l 退出 MongoDB Shell:quit() 或者 exit
详见官网教程:
MongoDB Shell:管理并与数据库进行交互 | MongoDB

4 安装 MongoDB Compass
以下操作在Windows下进行。
4.1 下载安装包
从官网下载最新版本:
https://www.mongodb.com/try/download/compass

下载可执行文件,点击运行。
4.2 连接MongoDB

请输入安装MongoDB的Linux系统的实际IP地址,端口号默认27017。

4.3 创建数据库和集合(Collection)
如下图所示,输入数据库名称mongodb和集合名称Student。

插入数据Add Data

第一行数据:
{
“name”: “ZhangSan”,
“score”: {
“English”: 65,
“Math”: 86,
“Computer”: 77
}
}
第二行数据:
+
导出JSON格式文件如下:

选中集合后(如Student)后,可以导出、修改、删除数据。
4.4 运行MongoDB shell
如下图所示,在Compass主界面,点击右上角按钮“Open MongoDB shell”进入命令行工具。


在此窗口中进行mongodb命令操作,完成建表删表和数据的增删改查等操作。
1、查询全部学生信息
db[“Sudent”].find({})
2、查询指定学生信息
db[“Sudent”].find({“name”:“LiSi”})
3、查询指定学生的数学成绩
db[“Sudent”].find({“name”:“LiSi”},{“score”:1})
4、修改学生数学成绩
db[“Sudent”].update({“name”:“LiSi”},{ $set: {“score.Math”: 95 }})
5 使用 Python 操作 MongoDB
MongoDB 是一种流行的 NoSQL 数据库,支持面向文档的数据存储。Python 提供了许多库和工具,方便与 MongoDB 进行交互。以下是如何使用 Python 操作 MongoDB 的基本步骤,包括连接、插入、查询、更新和删除数据。
5.1 连接MongoDB
首先,需要安装 pymongo 库,这是 Python 与 MongoDB 交互的官方库。可以使用以下命令安装:
pip install pymongo
安装完成后,可以使用以下代码连接到 MongoDB:
import pymongo
# 连接 MongoDB
client = pymongo.MongoClient(“mongodb://localhost:27017/”)
# 创建数据库
db = client[“mydb”]
5.2 插入数据
在 MongoDB 中,数据以文档的形式存储。文档是一个由键值对组成的 JSON 对象。在 Python 中,可以使用字典来表示文档。以下是向 MongoDB 插入一条文档的示例:
# 向集合插入一条数据
collection = db[“customers”]
data = {“name”: “John”, “address”: “Highway 37”}
result = collection.insert_one(data)
print(result.inserted_id)
5.3 查询数据
可以使用 find() 方法查询数据。find() 方法返回一个游标对象,可以使用 for 循环遍历查询结果。以下是查询 MongoDB 中 customers 集合中所有文档的示例:
# 查询集合中所有数据
collection = db[“customers”]
for data in collection.find():
print(data)
5.4 更新数据
可以使用 update_one() 或 update_many() 方法更新数据。update_one() 方法更新集合中符合条件的第一条文档,update_many() 方法更新集合中符合条件的所有文档。以下是更新 MongoDB 中 customers 集合中 name 字段为 John 的文档的示例:
# 更新指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
new_values = {“$set”: {“address”: “Canyon 123”}}
result = collection.update_one(query, new_values)
print(result.modified_count, “文档已修改”)
5.5 删除数据
可以使用 delete_one() 或 delete_many() 方法删除数据。delete_one() 方法删除集合中符合条件的第一条文档,delete_many() 方法删除集合中符合条件的所有文档。以下是删除 MongoDB 中 customers 集合中 name 字段为 John 的文档的示例:
# 删除指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
result = collection.delete_one(query)
print(result.deleted_count, “文档已删除”)
5.6 完整Python源码
import pymongo
# 连接 MongoDB
client = pymongo.MongoClient(“mongodb://localhost:27017/”)
# 创建数据
db = client[“mydb”]
# 向集合插入一条数据
collection = db[“customers”]
data = {“name”: “John”, “address”: “Highway 37”}
result = collection.insert_one(data)
print(result.inserted_id)
# 查询集合中所有数据
collection = db[“customers”]
for data in collection.find():
print(data)
# 更新指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
new_values = {“$set”: {“address”: “Canyon 123”}}
result = collection.update_one(query, new_values)
print(result.modified_count, “文档已修改”)
# 删除指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
result = collection.delete_one(query)
print(result.deleted_count, “文档已删除”)

如本机输出:

选择tgz格式的CentOS 9.3 x64平台:

1.2 解压缩及改名
cd ~ # 进入hadoop用户的主目录,
cd 下载 # 注意Downloads,中文界面下可能是“下载”
# 解压缩文件至 /usr/local目录,注意文件名称与下载的版本一致
sudo tar -zxvf ./mongodb-linux-x86_64-rhel93-8.2.7 -C /usr/local
文件已经解压缩至 /usr/local/mongodb-linux-x86_64-rhel93-8.2.7文件夹下,接下来把文件夹修改为[ mongodb]
cd /usr/local/ # 进入文件夹
sudo mv ./mongodb-linux-x86_64-rhel93-8.2.7/ ./mongodb # 将文件夹改名
sudo chown -R hadoop ./mongodb # 修改文件权限

安装后mongodb8.2.7所在目录为:/usr/local/mongodb
1.3 创建数据目录
创建目录用于保存数据及日志:
cd /usr/local/mongodb
mkdir data
ls
cd data
mkdir db
mkdir log
1.4 创建mongodb.conf文件
创建config文件:
cd /usr/local/mongodb/
vim mongodb.conf
文件内容:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /usr/local/mongodb/data/db
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb/data/log/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
processManagement:
fork: true
# sharding:
# Enterprise-Only Options:
# auditLog:

1.5 配置环境变量
1、修改.bashrc文件:
cd ~
sudo vim ~/.bashrc
2、在末尾添加以下内容:
……
export MONGODB_HOME=/usr/local/mongodb/
export PATH=𝑃𝐴𝑇𝐻 :{MONGODB_HOME}/bin

3、使环境变量生效
source ~/.bashrc
1.6 启动 MongoDB
mongod --config /usr/local/mongodb/mongodb.conf

# 查看27017端口是否打开:
netstat -lntup|grep 27017

注意tcp协议是开放的,而不是http或https,不能在浏览器中打开。
可以用以下指令在防火墙上打开27017端口
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --reload
附录:Linux防火墙指令
1、启动防火墙:
systemctl start firewalld
2、停止防火墙:
systemctl stop firewalld
3、重启防火墙:
firewall-cmd --reload
4、查看防火墙状态:
systemctl status firewalld
2 使用Navicat连接MongoDB
2.1 使用Navicat连接 MongoDB
输入所在电脑的IP,端口号27017,点击左下角“测试连接”:


在上图界面中新建数据库和集合等。
3 安装MongoDB Shell
以下操作在Windows下进行。
3.1 下载安装包
从官网下载最新版本:
MongoDB Shell Download | MongoDB
选择zip格式的Windows x64平台:

3.2 解压缩及改名
将压缩包(zip格式)解压后放置层级较浅的目录中,如下图:

目录为:D:\tools\mongosh-2.8.3-win32-x64。
把此目录下的bin目录添加到系统的环境变量中:D:\tools\mongosh-2.8.3-win32-x64\bin

在Windows下的CMD中,输入mongosh,显示如下信息:

表示无法连接到127.0.0.1,因为本机是Windows,不是OpenEuler,需要指定安装了Mongodb服务电脑的IP,指令:mongosh :

Mongosh 192.168.118.130:27017 # OpenEuler实际IP
3.3 数据库操作
l 查看当前数据库:db
l 显示数据库列表:show dbs
l 切换到指定数据库:use <database_name>
l 执行查询操作:db.<collection_name>.find()
l 插入文档:db.<collection_name>.insertOne({ … })
l 更新文档:db.<collection_name>.updateOne({ … })
l 删除文档:db.<collection_name>.deleteOne({ … })
l 退出 MongoDB Shell:quit() 或者 exit
详见官网教程:
MongoDB Shell:管理并与数据库进行交互 | MongoDB

4 安装 MongoDB Compass
以下操作在Windows下进行。
4.1 下载安装包
从官网下载最新版本:
https://www.mongodb.com/try/download/compass

下载可执行文件,点击运行。
4.2 连接MongoDB

请输入安装MongoDB的Linux系统的实际IP地址,端口号默认27017。

4.3 创建数据库和集合(Collection)
如下图所示,输入数据库名称mongodb和集合名称Student。

插入数据Add Data

第一行数据:
{
“name”: “ZhangSan”,
“score”: {
“English”: 65,
“Math”: 86,
“Computer”: 77
}
}
第二行数据:
+
导出JSON格式文件如下:

选中集合后(如Student)后,可以导出、修改、删除数据。
4.4 运行MongoDB shell
如下图所示,在Compass主界面,点击右上角按钮“Open MongoDB shell”进入命令行工具。


在此窗口中进行mongodb命令操作,完成建表删表和数据的增删改查等操作。
1、查询全部学生信息
db[“Sudent”].find({})
2、查询指定学生信息
db[“Sudent”].find({“name”:“LiSi”})
3、查询指定学生的数学成绩
db[“Sudent”].find({“name”:“LiSi”},{“score”:1})
4、修改学生数学成绩
db[“Sudent”].update({“name”:“LiSi”},{ $set: {“score.Math”: 95 }})
5 使用 Python 操作 MongoDB
MongoDB 是一种流行的 NoSQL 数据库,支持面向文档的数据存储。Python 提供了许多库和工具,方便与 MongoDB 进行交互。以下是如何使用 Python 操作 MongoDB 的基本步骤,包括连接、插入、查询、更新和删除数据。
5.1 连接MongoDB
首先,需要安装 pymongo 库,这是 Python 与 MongoDB 交互的官方库。可以使用以下命令安装:
pip install pymongo
安装完成后,可以使用以下代码连接到 MongoDB:
import pymongo
# 连接 MongoDB
client = pymongo.MongoClient(“mongodb://localhost:27017/”)
# 创建数据库
db = client[“mydb”]
5.2 插入数据
在 MongoDB 中,数据以文档的形式存储。文档是一个由键值对组成的 JSON 对象。在 Python 中,可以使用字典来表示文档。以下是向 MongoDB 插入一条文档的示例:
# 向集合插入一条数据
collection = db[“customers”]
data = {“name”: “John”, “address”: “Highway 37”}
result = collection.insert_one(data)
print(result.inserted_id)
5.3 查询数据
可以使用 find() 方法查询数据。find() 方法返回一个游标对象,可以使用 for 循环遍历查询结果。以下是查询 MongoDB 中 customers 集合中所有文档的示例:
# 查询集合中所有数据
collection = db[“customers”]
for data in collection.find():
print(data)
5.4 更新数据
可以使用 update_one() 或 update_many() 方法更新数据。update_one() 方法更新集合中符合条件的第一条文档,update_many() 方法更新集合中符合条件的所有文档。以下是更新 MongoDB 中 customers 集合中 name 字段为 John 的文档的示例:
# 更新指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
new_values = {“$set”: {“address”: “Canyon 123”}}
result = collection.update_one(query, new_values)
print(result.modified_count, “文档已修改”)
5.5 删除数据
可以使用 delete_one() 或 delete_many() 方法删除数据。delete_one() 方法删除集合中符合条件的第一条文档,delete_many() 方法删除集合中符合条件的所有文档。以下是删除 MongoDB 中 customers 集合中 name 字段为 John 的文档的示例:
# 删除指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
result = collection.delete_one(query)
print(result.deleted_count, “文档已删除”)
5.6 完整Python源码
import pymongo
# 连接 MongoDB
client = pymongo.MongoClient(“mongodb://localhost:27017/”)
# 创建数据
db = client[“mydb”]
# 向集合插入一条数据
collection = db[“customers”]
data = {“name”: “John”, “address”: “Highway 37”}
result = collection.insert_one(data)
print(result.inserted_id)
# 查询集合中所有数据
collection = db[“customers”]
for data in collection.find():
print(data)
# 更新指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
new_values = {“$set”: {“address”: “Canyon 123”}}
result = collection.update_one(query, new_values)
print(result.modified_count, “文档已修改”)
# 删除指定条件的数据
collection = db[“customers”]
query = {“name”: “John”}
result = collection.delete_one(query)
print(result.deleted_count, “文档已删除”)
