MongoDB 是一个开源、跨平台、面向文档的数据库环境。MongoDB使用类似JSON的无模式文档。多个文档构成一个集合,并且一个或多个集合可能存在于 MongoDB 数据库中。在本章中,我们将学习如何使用Node.js应用程序创建 MongoDB 数据库。
MongoDB数据库管理软件有以下三个版本:
- MongoDB 社区 - MongoDB 的源代码可用、免费使用和自我管理的版本,可用于本地安装,适用于 Windows、Linux 和 macOS。
- MongoDB Enterprise - MongoDB的商业,基于订阅,自我管理的MongoDB版本,具有许多比社区版本更高级的功能。
- MongoDB Atlas - 一种按需、完全托管的服务,用于在云中部署MongoDB。它在 AWS、Microsoft Azure 和 Google Cloud Platform 上运行。
连接字符串
用于 Node.js 的 mongodb 驱动程序使用 require() 函数导入到代码中。MongoClient 类的对象表示数据库连接。您需要将连接字符串传递给其构造函数。
MongoDB连接字符串必须是以下格式之一:
标准连接字符串格式 - 此格式用于连接到自托管的 MongoDB 独立部署、副本集或分片集群。标准 URI 连接方案的格式为 −
默认连接字符串为 −
SRV 连接格式 − 具有对应于 DNS SRV 记录的主机名的连接字符串。MongoDB Atlas使用SRV连接格式。MongoDB支持DNS构建的种子列表。它允许更灵活的部署,并能够在不重新配置客户端的情况下轮流更改服务器。SRV URI 连接方案具有以下形式 -
下面是 SRV 连接字符串的示例 -
在以下示例中,我们使用标准连接字符串来提取数据库列表。
示例:数据库列表
MongoClient 对象的 connect() 方法返回一个 Promise。对 connect() 方法的调用是异步的。接下来,调用函数 listdatabases()。
输出
- admin
- config
- local
- myProject
- mydb
创建新数据库
要在服务器上创建新数据库,您需要调用 MongoClient 类的 db() 方法。
db() 方法返回一个数据库实例,该实例表示服务器上的数据库。在以下示例中,我们演示了如何在 MongoDB 中创建一个名为 mydatabase 的新数据库。
但是,请注意,在至少创建一个集合并且其中至少应有一个文档之前,不会在服务器上实际创建数据库。