MongoDB是一种流行的非关系型数据库,它提供了灵活的数据结构和高性能的查询能力。MongoDB默认提供了几个数据库,用于存储不同类型的数据和元数据。这些数据库有:
1.admin:用于存储管理员账户和角色信息,以及复制集和分片集群的配置信息。
2.config:用于存储分片集群的元数据,包括分片键、分片范围、块信息等。
3.local:用于存储本地节点的复制集状态信息,包括操作日志、选举信息、心跳信息等。
4.test:用于存储测试数据,默认情况下,如果没有指定数据库名,MongoDB会连接到这个数据库。
除了这些默认数据库,MongoDB还允许用户创建和使用自定义数据库,用于存储业务相关的数据。用户可以通过db.createDatabase()命令或者直接在shell中指定数据库名来创建自定义数据库。例如:
// 创建一个名为mydb的自定义数据库
// 在mydb中创建一个名为users的集合,并插入一条文档
MongoDB默认提供的数据库有一些隐藏功能,用户可以利用它们来实现一些特殊的需求。例如:
1.使用admin数据库可以执行一些全局性的操作,如关闭服务器、刷新路由缓存、查看服务器状态等。
2.使用config数据库可以修改分片集群的元数据,如增加或删除分片、调整分片键、平衡块等。
3.使用local数据库可以访问复制集的操作日志,用于恢复数据、审计操作、监控复制延迟等。
当然,MongoDB默认提供的数据库也有一些限制和注意事项,用户需要了解并遵守。例如:
1.不要在admin、config和local数据库中存储业务相关的数据,以免影响系统性能和安全性。
2.不要在test数据库中存储重要的数据,因为它可能会被其他用户或程序覆盖或删除。
3.不要在自定义数据库中使用与默认数据库同名或类似的名称,以免造成混淆或冲突。
MongoDB默认提供了几个数据库,用于存储不同类型的数据和元数据。用户可以根据自己的业务需求,创建和使用自定义数据库。用户需要了解并遵守MongoDB默认提供的数据库的功能、限制和注意事项,以保证数据的正确性和安全性。