MongoDB 创建数据库
创建与切换语法
MongoDB 创建数据库的语法比较特别,使用 use 命令:
use dbnameCode language: PHP (php)
如果数据库不存在,则创建数据库;如果已存在,则切换到指定数据库。
空数据库不显示现象
执行 use db1、use db2、use db3 后,虽然命令行提示切换成功(如 switched to db db1),但执行 show dbs 时,只显示默认的 admin、config、local,刚使用的 db1、db2、db3 并没有出现。
这是因为 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(分片配置)。

Previous: NoSQL 简介
Next: MongoDB 删除数据库