MongoDB教程001:基本常用命令(数据库操作和集合操作)
1.1 案例需求
存放文章评论的数据存放到MongoDB
中,数据结构参考如下:
数据库:【articledb】
专栏文章评论 | comment | ||
---|---|---|---|
字段名称 | 字段含义 | 字段类型 | 备注 |
_id==(MongoDB自动生成)== | ID | ObjectId 或String | Mongo的主键的字段 |
articleId | 文章ID | String | |
content | 评论内容 | String | |
userid | 评论人ID | String | |
nickname | 评论人昵称 | String | |
createdatetime | 评论的日期时间 | Date | |
likenum | 点赞数 | Int32 | |
replynum | 回复数 | Int32 | |
state | 状态 | String | 0:不可见;1:可见; |
parentid | 上级ID | String | 如果为0表示文章的顶级评论 |
1.2 数据库操作
1.2.1 选择和创建数据库
选择和创建数据库的语法格式:
use 数据库名称
如果数据库不存在则自动创建,例如,以下语句创建articledb
数据库:
use articledb
查看有权限查看的所有数据库命令
show dbs
或
show databases
注意:在MongoDB中,集合只有在内容插入后才会创建。就是说,创建集合(数据表)后要插入一个文档(记录),集合才会真正创建。
查看当前正在使用的数据库命令:
db
MongoDB中默认的数据库为test
,如果你没有选择数据库,集合将存放在test
数据库中。
展示当前有哪些库:
> show dbs
admin 0.000GB
config 0.000GB
jianshu 0.000GB
local 0.000GB
另外:
数据库名可以是满足以下条件的任意UTF-8字符串。
- 不能是空字符串
- 不得含有空格 $ / \等
- 应全部小写
- 最多64字节
有一些数据库名是保留的,可以直接访问这些特殊作用的数据库。
admin
:从权限角度看,这是root
数据库,要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。local
:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。config
:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
1.2.2 数据库的删除
MongoDB删除数据库的命令如下:
db.dropDatabase()
提示:主要用来删除已经持久化的数据库。
1.3 集合操作
集合:类似关系数据库中的表。
可以显示的创建,也可以隐式的创建。
1.3.1 集合的显示创建(了解)
基本语法格式:
db.createCollection(name)
参数说明:
- name:要创建的集合名称。
例如,创建一个名为mycollection
的普通集合。
db.createCollection("mycollection")
1.3.2 集合的删除
基本语法格式:
db.collection.drop()