MongoDB 创建数据库

MongoDB 创建数据库

创建与切换语法

MongoDB 创建数据库的语法比较特别,使用 use 命令:

use dbnameCode language: PHP (php)

如果数据库不存在,则创建数据库;如果已存在,则切换到指定数据库。

空数据库不显示现象

执行 use db1use db2use db3 后,虽然命令行提示切换成功(如 switched to db db1),但执行 show dbs 时,只显示默认的 adminconfiglocal,刚使用的 db1db2db3 并没有出现。

这是因为 MongoDB 不会真正创建空数据库。只有向数据库中插入了数据,数据库才会被实际创建并持久化显示。

插入数据后数据库生效

当执行插入操作后,数据库才会真正生成:

use db1
db.db1.insert({"name":"foxdevelop.com"})
WriteResult({ "nInserted" : 1 })
show dbsCode language: JavaScript (javascript)

此时 show dbs 结果中出现了 db1。同理,在其他会话中向 test 数据库插入数据(db.test.insert({"total":1}))后,test 数据库也会显示在列表中。

默认数据库 test

MongoDB 中默认的数据库为 test。如果没有创建新的数据库,集合将存放在 test 数据库中。重新打开一个 cmd 窗口时,默认处于 test 数据库环境下。

核心要点总结

  • use 数据库名 兼具创建与切换功能,但仅切换不创建物理库。
  • 数据库必须包含至少一条文档(集合自动创建并插入),show dbs 才会列出该库。
  • 默认数据库为 test,未指定库时数据存于 test
  • 保留数据库:admin(管理/权限)、local(本地不复制)、config(分片配置)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注