MongoDB初识及启动

mongoDB的存储结构

数据库->集合->子集合->文档

文档:是mongoDB存储数据的最小集合,就是js的一个object,但是具有一定的顺序
子集合:是在集合下的一种分区方式
集合:一种比较大的分区方式
数据库:是数据最顶级的地址,通常一个mongoDB的实例可以存在多个数据库

文档的组成

文档是由多对key-value组成,每一个文档都有一个自己的id
key的写入条件:1.只能是字符串,2.区分大小写,3.接收UTF-8的字符但规范只允许使用英文和数字以及下划线

集合

集合就是一组文档,注意一个集合的设计方式比较重要,是快速查找数据的关键,因此要特别的设计。集合之下还有子集合。
集合名有限制:

  1. 不能以system.开头,这是保存系统数据的库
  2. 不能使用$符号
  3. 不能包含空字符

数据库

是多个集合的组成,有默认数据库名是不可以占用的,例如admin,local,config,数据库名+集合名的长度小于121字节(实践小于100字节)
数据库取名的限制:

  1. 基本上只能用ASCII码中的字母和数字以及下划线
  2. 数据库名不区分但是应全部小写
  3. 数据库名最多64个字节

启动

系统:macOS 10.14.6
一般启动顺序,启动mongod启动客户端->mongo启动Shell

但是初次启动失败了,原因是没有/data/db/文件夹,需要先mkdir -p /data/db/然后是mongoDB没有/data/db/的访问权限,只要执行 chmod 777 /data/db 给权限即可

MongoDB shell简介

shell是一个功能完备的javascript 解释器,可以运行任意javascript程序

查看当前db,db也是当前db的代指
db

切换db
use other

创建数据

当前先创建一个post = {"title":'My Blog',"content":'blog','date':new Date()}

然后插入数据
db.blog.insert(post)

读取数据

查看集合的全部数据
db.blog.find()
db.blog.findOne()

更新数据

post.comments = []
全量更新
db.blog.update({title: "My Blog"}, post)

删除文档

db.blog.remove({title: "My Blog"})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。