Python MongoDB 教程

Posted NBITer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python MongoDB 教程相关的知识,希望对你有一定的参考价值。

Python MongoDB 教程

在本教程中,我们将介绍如何使用 Python 操作 MongoDB。MongoDB 是一种 NoSQL 数据库,它将数据存储在类似 JSON 的文档中。Python 是一种流行的编程语言,常用于 Web 开发和数据分析。

准备工作

在开始之前,请确保您的计算机上已安装以下内容:

  • Python 3.x
  • pymongo 模块(可以使用 pip 安装)

您还需要访问 MongoDB 数据库。您可以在 这里 注册一个免费的 MongoDB Cloud 账户。

连接 MongoDB

要从 Python 连接 MongoDB,我们将使用 PyMongo 库。首先从 pymongo 模块导入 MongoClient 类:

from pymongo import MongoClient

接下来,创建一个 MongoClient 对象,并指定 MongoDB 数据库的连接详情:

client = MongoClient('mongodb+srv://<username>:<password>@<cluster-address>/test?retryWrites=true&w=majority')

请将 <username><password><cluster-address> 替换为您自己的值。

现在我们有了一个客户端对象,可以访问其中的数据库和集合。让我们创建一个新的数据库和集合:

db = client['mydatabase']
mycollection = db['mycollection']

插入数据

要将文档插入到集合中,可以使用 insert_one() 方法:

doc = "name": "John", "age": 30, "city": "New York"
mycollection.insert_one(doc)

这将在 "mycollection" 集合中插入一个新文档,其中包含 "name"、"age" 和 "city" 字段。

查询数据

要从集合中检索数据,可以使用 find() 方法:

result = mycollection.find("name": "John")
for doc in result:
    print(doc)

这将打印出 "mycollection" 集合中所有 "name" 字段为 "John" 的文档。

更新数据

要更新集合中的文档,可以使用 update_one() 方法:

mycollection.update_one("name": "John", "$set": "age": 40)

这将更新 "mycollection" 集合中第一个 "name" 字段为 "John" 的文档的 "age" 字段。

删除数据

要从集合中删除文档,可以使用 delete_one() 方法:

mycollection.delete_one("name": "John")

这将删除 "mycollection" 集合中第一个 "name" 字段为 "John" 的文档。

聚合查询

聚合查询是一种查询方式,可以用于组合不同的数据集并返回计算结果。例如,我们可以使用聚合查询来计算集合中的文档数、平均值、最大值、最小值等。

以下是一个聚合查询的示例,该查询将计算 "mycollection" 集合中所有文档的平均年龄:

from bson.son import SON
pipeline = [
    "$group": "_id": "null", "avg_age": "$avg": "$age",
    "$project": "_id": 0, "avg_age": 1
]
result = mycollection.aggregate(pipeline)
for doc in result:
    print(doc)

索引

索引是一种用于加速查询操作的数据结构。MongoDB 支持多种类型的索引,例如单字段索引、复合索引、地理空间索引等。

以下是一个创建单字段索引的示例,该索引将加速 "mycollection" 集合中 "name" 字段的查询:

mycollection.create_index("name")

Python 和 MongoDB 的优势

Python 和 MongoDB 的结合使得数据处理变得更加简单和高效。Python 提供了强大的数据分析和处理工具,MongoDB 提供了灵活的数据存储和查询操作。这使得 Python 和 MongoDB 成为开发强大应用程序的理想选择。

根据需求扩充内容

除了基本的 MongoDB 操作之外,还有很多其他的功能和工具可以使用。例如,您可以使用 PyMongo 库中的 GridFS 来存储和检索大型二进制文件,如图像和视频。您还可以使用 MongoDB Atlas 来在云端托管和管理 MongoDB 实例。此外,MongoDB 还支持多种编程语言,包括 Java、C#、Node.js 等。

在实际应用中,您可能需要将 MongoDB 集成到 Web 应用程序或移动应用程序中。例如,您可以使用 Flask 框架和 PyMongo 库构建基于 Web 的 MongoDB 应用程序。您还可以使用 PyMongo 库在 Python 移动应用程序中使用 MongoDB。这些都是将 MongoDB 应用于现实世界应用程序的示例。

总结

在本教程中,我们介绍了如何使用 Python 操作 MongoDB。我们学习了如何连接 MongoDB 数据库、插入和查询数据以及更新和删除集合中的文档。我们还介绍了聚合查询和索引,它们是 MongoDB 中重要的功能。掌握这些知识后,您可以开始构建利用 MongoDB 灵活性和可扩展性的强大应用程序。另外,在实际应用中,您还可以根据需求扩充内容,以满足更复杂的数据处理需求。

python3数据库MongoDB的全面安装教程

MongoDB 是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统其内容存储形式类似 JSON 对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活。 MongoDB支持多种平台,包括 Windows、Linux、Mac OS、Solaris 等,在其官方网站( htps://www mongodb.com/download-center)均可找到对应的安装包。

1.相关链接
官方网站:https://www.mongodb.com

官方文档:https://docs.mongodb.com

GitHub: https://github.com/mongodb
中文教程:htp://www.runoob.com/mongodb/mongodb-tutorial.html


2.Windows 下的安装
这里直接在官网(如图下图所示)点击 DOWNLOAD 按钮下载 msi 安装包即可。

下载完成后,双击它开始安装,指定MongoDB的安装路径,例如此处我指定的安装路径为 C:\\Program Files\\MongoDB\\Server\\4.4点击 Next 按钮执行安装即可。
安装成功之后,进人MongoDB的安装目录,此处是C:\\Program Files\\MongoDB\\Server\\4.4,在bin目录下新建同级目录data。然后进入 data 文件夹,新建子文件夹 db来存储数据目录。

之后打开命令行,进人MongoDB 安装目录的 bin 目录下,运行 MongoDB 服务: mongod --dbpath "C:\\Program Files\\MongoDB\\Server\\4.4\\data\\db"
请记得将此处的路径替换成你的主机 MongoDB 安装路径。运行之后,会出现一些输出信息。这样我们就启动MongoDB服务了。

但是如果我们想一直使用 MongoDB,就不能关闭此命令行了。如果意外关闭或重启,MongoDB这样我们就启动 MongoDB 服务了。
服务就不能使用了。这显然不是我们想要的。所以,接下来还需将MongoDB 配置成系统服务。
首先,以管理员模式运行命令行。注意,此处一定要以管理员身份运行,否则可能配置失败。


以管理员身份运行 ,在“开始”菜单中搜索cmd,找到命令行,然后右击它以管理员身份运行即可。
随后新建一个日志文件,在bin目录新建logs同级目录,进入之后新建一个mongodb.log文件,用于保存MongoDB的运行日志。

在命令行下输人如下内容:
mongod --bind ip 0.0.0.0--logpath"C:\\Program Files\\MongoDB\\Server\\4.4\\logs\\mongodb.log"--logappend--dbpath
“C: \\Program Files\\MongoDB\\Server\\4.4\\data\\db”--port 27017 --serviceliame "MongoDB”--serviceDisplayName "MongoDB”--install

这里的意思是绑定IP为0.0.0.0(即任意IP均可访问),指定日志路径、数据库路径和端口,指定服务名称。需要注意的是,这里依然需要把路径替换成你的MongoDB安装路径,运行此命令后即可安装服务,运行。如果没有出现错误提示,则证明MongoDB服务已经安装成功。可以在服务管理页面查看系统服务。

然后就可以设置它的开机启动方式了,如自动启动或者手动启动等,这样我们就可以非常方便地管理MongoDB服务了。

启动服务之后,在命令行下就可以利用mongo命令进入MongoDB命令交互环境了。

这样,Windows下的MongoDB配置就完成了。

3.Linux下的安装

这里以MongoDB3.4为例说明MongoDB的安装过程。

Ubuntu

首先,导入MongoDB的GPG key:

sudo apt-key adv --keyserver hkp://keyserver. ubuntu.com:80--recv 0C49F3730359A14518585931BC711F9BA15703C6

随后创建apr-get 源列表,各个系统版本对应的命令分别如下。
echo "deb [ arch and64 ] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse”I sudo tee

Ubuntu 12.04 对应的命令如下:
/etc/apt/sources.list.d/mongodb-org-3.4.1ist

Ubuntu 14.04 对应的命令如下:
echo "deb [ archamd64 ] http://repo,mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" I sudo tee
/etc/apt/sources.list.d/mongodb-org-3.4.list

Ubuntu 16.04 对应的命令如下:
echo "deb [ archand64,arm64 】 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse"
sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

随后更新 apt-get 源: sudo apt-get update
之后安装 MongoDB 即可:
sudo apt-get install -y mongodb-org
安装完成后运行 MongoDB,命令如下: mongod --port 27017 -.dbpath /data/db
运行命令之后,MongoDB 就在27017端口上运行了,数据文件会保存在/data/db路径下
一般情况下,我们在Linux上配置MongoDB都是为了远程连接使用的,所以这里还需要配置-下MongoDB的远程连接以及用户名和密码。
接着,进入 MongoDB命令行: mongo --port 27017
现在我们就已经进入到MongoDB的命令行交互模式下了,在此模式下运行如下命令:> use admin
switched to db admin
> db.createlser(user:admin’,pwd:'admin123', roles: [frole: "root’,db:"admin']]1) Successfully added user:
"user”:"admin","roles":1
"role:"root""db”:"admin"

这样我们就创建了一个用户名为admin,密码为admin123的用户,赋予最高权限。

随后需要修改MongoDB的配置文件,此时执行如下命令: sudo vi /etc/mongod.conf

然后修改net部分为:

net:
port: 27017
bindIp: 0.0.0.0
这样配置后,MongoDB可被远程访问。
另外,还需要添加如下的权限认证配置。此时直接添加如下内容到配置文件即可:

security:
authorization: enabled
配置完成之后,我们需要重新启动 MongoDB 服务,命令如下:

sudo service mongod restart
这样远程连接和权限认证就配置完成了

CentOS 和 Red Hat

首先,添加 MongoDB 源:
sudo vi /etc/yum.repos.d/mongodb-org.repo接着修改如下内容并保存:

[mongodb-org-3.4]
name-MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/Sreleasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

然后执行yum命令安装: sudo yum install mongodb-org
这里启动MongoDB 服务的命令如下: sudo systemctl start mongod
停止和重新加载MongoDB 服务的命令如下:

sudo systemctl stop mongod sudo systemctl reload mongod
有关远程连接和认证配置,可以参考前面,方式是相同的。
更多 Linux 发行版的 MongoDB 安装方式可以参考官方文档:

https://docs.mongodb.com/manual/ dministration/install-on-linux/。


4.Mac 下的安装
这里推荐使用 Homebrew安装,直接执行brew命令即可: brew install mongodb
然后创建一个新文件夹/data/db,用于存放 MongoDB数据这里启动MongoDB 服务的命令如下: brew services start mongodb sudo mongod

停止和重启MongoDB 服务的命令分别是:
brew services stop mongodb brew services restart mongodb


5.可视化工具
这里推荐一个可视化工具RoboMongo/Robo3T,它使用简单,功能强大,官方网站为

https:// robomongo.org/,三大平台都支持,下载链接为

https://robomongo.org/download。
另外,还有一个简单易用的可视化工具--Studio3T,它同样具有方便的图形化管理界面,官方网站为 https:/studio3.com,同样支持三大平台,下载链接为 https://studio3t.com/download/

以上是关于Python MongoDB 教程的主要内容,如果未能解决你的问题,请参考以下文章

python 包之 mongodb 数据库操作教程

python3数据库MongoDB的全面安装教程

python3数据库MongoDB的全面安装教程

python3数据库MongoDB的全面安装教程

python3数据库MongoDB的全面安装教程

Spark教程Spark连接MongoDB