了解 MongoDB 中的数据库:集合的逻辑容器

MongoDB 数据库的定义

在 MongoDB 中,**数据库** 是一个将集合组合在一起的高级组织单位。它充当集合的容器,而集合又用于保存文档。一个 MongoDB 实例可以托管多个数据库,每个数据库在逻辑上都相互独立。

MongoDB 数据库的主要特征:

1. 命名空间

  • 每个数据库都由 MongoDB 实例中的唯一名称标识。
  • 数据库内的集合和文档属于其命名空间。
  • 示例:名为 ecommerce 的数据库可以包含用户、产品和订单等集合。
  • 2. 逻辑隔离

  • 数据库彼此隔离,这意味着一个数据库中的操作不会影响另一个数据库。
  • 这使得 MongoDB 适合多租户环境或具有不同数据域的应用程序。
  • 3. 存储

  • 每个数据库都存储在磁盘上的一组单独的文件中。
  • 默认情况下,MongoDB 在其存储引擎中为每个数据库创建一组文件。
  • 4.内置数据库

  • MongoDB 包含一些默认数据库:admin:用于管理任务,如用户身份验证和服务器配置。local:存储特定于实例的数据,例如复制元数据。此数据库不被复制。config:内部用于存储有关分片集群的元数据。
  • 5. 区分大小写

  • 数据库名称区分大小写。例如,Sales 和 sales 被视为两个单独的数据库。
  • 6. 最大数据库数量

  • MongoDB 中数据库的数量没有硬性限制,但实际限制取决于系统资源和性能考虑。
  • 在 MongoDB 中创建和使用数据库:

  • 创建数据库 当向数据库添加集合时,会自动创建数据库。示例:使用 myDatabase db.myCollection.insertOne({ name: "Alice" }) 如果 myDatabase 数据库和 myCollection 集合尚不存在,则此操作会创建它们。
  • 在数据库之间切换使用 use命令切换到不同的数据库。
  • 查看数据库 show dbs 命令列出服务器上所有可用的数据库。
  • 删除数据库 db.dropDatabase() 命令删除当前选定的数据库。
  • MongoDB数据库的优点:

  • 逻辑分离数据库允许您分离不相关的数据,从而更易于管理和保护。
  • 为多个客户端提供服务的多租户应用程序可以为每个客户端使用单独的数据库,以确保数据隔离。
  • 可扩展性 每个数据库都可以根据应用程序的需要独立扩展。
  • 例子:

    对于电子商务应用程序:

  • 数据库:电子商务 收藏:用户:存储用户个人资料和登录信息。产品:存储产品详细信息。订单:存储客户订单。
  • 概括:

    在 MongoDB 中,数据库是集合的逻辑容器,提供有效组织、隔离和管理数据的方法。它构成了 MongoDB 数据层次结构中的最高级别结构。