2.1 数据库操作
操作 | 语法 |
---|---|
查看所有数据库 | show dbs; 或 show databases; |
查看当前数据库 | db; |
切换到某数据库 (若数据库不存在则创建数据库) | use ; |
删除当前数据库 | db.dropDatabase(); |
默认保留的数据库
- admin: 从权限角度考虑, 这是
root
数据库, 如果将一个用户添加到这个数据库, 这个用户自动继承所有数据库的权限, 一些特定的服务器端命令也只能从这个数据库运行, 比如列出所有的数据库或者关闭服务器 - local: 数据永远不会被复制, 可以用来存储限于本地的单台服务器的集合 (部署集群, 分片等)
- config: Mongo 用于分片设置时,
config
数据库在内部使用, 用来保存分片的相关信息> show dbs admin 0.000GB config 0.000GB local 0.000GB > use articledb switched to db articledb > show dbs admin 0.000GB config 0.000GB local 0.000GB 复制代码
当我们创建了一个数据库后再进行查看会发现,我们创建的数据库并没有显示出来,这是由于MongoDD的存储机制决定的
当使用
use articledb
的时候.articledb
其实存放在内存之中, 当articledb
中存在一个 collection 之后, mongo 才会将这个数据库持久化到硬盘之中.
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
> use articledb
switched to db articledb
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
> db.articledb.insertOne({"a": 3})
{
"acknowledged" : true,
"insertedId" : ObjectId("62e128b6a70e7344a5139207")
}
> show dbs
admin 0.000GB
articledb 0.000GB
config 0.000GB
local 0.000GB
复制代码
另外: 数据库名可以是满足以下条件的任意UTF-8字符串。
- 不能是空字符串("")。
- 不得含有
' '
空格)、.
、$
、/
、和