开发者学堂课程【MongoDB精讲课程(上):数据库的创建和删除】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/726/detail/12953
数据库的创建和删除
内容介绍:
一、 课程回顾
二、 选择和创建数据库
三、 数据库的删除
一、课程回顾
1.案例需求
存放文章评论的数据存放到 MongoDB 中,数据结构参考如下:
数据库:articledb
专栏文章评论 |
comment |
|
|
字段称名 |
字段含义 |
字段类型 |
备注 |
_id |
ID |
Objectld 或 String |
Mongo 的主键的字段 |
articleid |
文章 ID |
String |
|
content |
评论内容 |
String |
|
userid |
评论人 ID |
String |
|
nickname |
评论人昵称 |
String |
|
createdatetime |
评论的日期时间 |
Date |
|
likenum |
点赞数 |
lnt32 |
|
replynum |
回复数 |
lnt32 |
|
state |
状态 |
String |
0:不可见;1:可见 |
parentid |
上级 ID |
String |
如果为0表示文章的顶级评论 |
注意:_id 为 Mongo 的主键,是自主生成的,无需过多操作,其它的都是人为创建的字段。
二、选择和创建数据库
选择和创建数据库的语法格式:
use 数据库名称
如果当前的 MongoDB中没有这个库,例如use articledb 没有 articledb 可帮助你创建一个,如果有 articledb将把你当前的库切换到 articledb。
具体操作如下:
首先重新启动 Linux 数据库,之后通过 cmd 命令去连接(用 pc 去连接远程的 Linux 服务器,找到 bin 目录,然后用 Mongo 命令)
注意:
此时不能用 Mongo 命令直接去连接,直接连接的是本地,需指定 host, host 是远程服务器180.76.159.126 ,可直接复制粘贴,host 后面可不用 port ,然后直接点击回车键就可连接上数据库。
连接上数据库后先执行一个命令,即 show dbs ,用以展示当前的 MongoDB 有哪几个库,接下来创建 articledb, 会发现当前已经切换到了 articledb ,此时如果再执行 show dbs,本应该出现四个库(admin、 config、local、use articledb、),但是实际上点击回车键后并没有出现 use articled,原因是 MongoDB 的存储机制:“其存储分为上下两个部分,上面的部分称为内存,下面的部分是持久化的磁盘。”当使用 use 去创建 articledb 库的时候,实际上是存放在内存当中,并未持久化到磁盘中,因此用 show dbs 查不到。
补充:
当 articledb 中有一个集合的时候,即不是空的数据库,就会自动持久化到磁盘中。
如果数据库不存在则自动创建,例如,以下语句创建 spitdb 数据库:
use articled
查看有权限查看的所有的数据库命令
show dbs
或
show databases
注意:在 MongoDB 中,集合只有在内容插入后才会创建!就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
#查看当前正在使用的数据库命令
db
MongoDB 中默认的数据库为 test,如果你没有选择数据库,集合将存放在 test 数据库中。
另外:
数据库名可以是满足以下条件的任意 UTF-8 字符串。
不能是空字符串(“”)。
不得含有’’(空格)、.、$、/、\和\0(空字符)。
应全部小写。
最多64字节,
有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
admin:从权限的角度来看,这是 “root” 数据库。要是将一个
用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
local:这个数据永远不会被复制,可以用来存储限于本地单台服
务器的任意集合。
config:当 Mongo 用于分片设置时,config 数据库在内部使
用,用于保存分片的相关信息。
三、数据库的删除
MongoDB 删除数据库的语法格式如下:
db.dropDatabase()
提示:主要用来删除已经持久化的数据库
具体操作如下: