之前虽然使用过MongoDB
但是没有具体了解,现在准备详细学习下,💪
了解
首先简单了解下MongoDB
:
MongoDB
是一种文档型数据库,基本组成是文档,集合,数据库。
文档
:类比关系型数据库的行数据。
1 | {"foo": 3, "greeting": "Hello, world!"} |
上面就是一个文档的示例,在文档中我们要有以下的注意点:
- 文档区分大小写(同一级),例如
foo
和Foo
就是不同的。 - key唯一,不可重复
- 文档可嵌套,当嵌套的内层可以和外层的主键相同
- 键值对是有序的
集合
:集合就是一组文档,类比于关系型数据库的表。
集合中的文档无需固定的结构。
集合的命名规则:
- 不能是空字符串(””)
- 不能包含
\0
字符(空字符) - 不能使用
system.
的前缀(系统保留) - 建议不包含保留字
$
- 用
.
分割不同命名空间的子集合(如:blog.users
,blog.posts
)
数据库
:多个文档组成一个集合,多个集合就组成了一个数据库。
一个实例可以承载多个数据库。
每个数据库都有独立的权限
保留的数据库名称(admin
,local
,config
)
安装
具体下载安装请参文章: MAC安装MongoDB
使用命令行操作数据库(CRUD)
想要对数据进行增删改查我们就要有一个数据库。
查看当前有哪些数据库
1 | > show dbs; |
更改数据库
1 | > use admin |
新增数据(Create)
我们不需要创建数据库,直接使用就是创建
1 | > use students; |
查询数据(Read)
1 | > db.students.find() |
我们看到MongoDB
自动为每个文档创建了唯一的主键。
更新数据(update)
1 | > db.students.findOne() |
删除数据(Delete)
1 | > db.students.find() |
如果我们没有指定条件 则是删除所有的。
一个练习
1 | db.students.insertMany( |