MongDB知识总结记录

171 阅读2分钟

「本文已参与「新人创作礼」活动,一起开启掘金创作之路。」

官方解释

MongDB是一个介于关系型数据库和非关系型数据之间的产品, 是非关系型数据库中功能最丰富,最像关系数据库,语法类似js 是一个面向集合的,模式自由的文档型数据库

缺点

不支持联表查询 不支持sql语句 不支持事务存储过程等 所以不适合存储数据间关系比较复杂的数据 一般主要用于数据仓库使用

适用于

日志系统 股票数据等

不适用于

电子商务系统等需要连多表查询的功能

概念

概念1:文档

文档是mongodb数据的基本单元 类似于关系数据库的行 多个键值以文档的形式存取记录 如: {"username":"zzs","age":10,"sex":男} {"Username":"zzs","age":"10"} 需要注意的是:MongoDB区分大小写 第一个age是数字类型 第二个是字符类型 每个文档的大小不超过16M

概念2:集合

集合就是一组文档 多个文档组成一个集合 类似于mysql的表 无模式是指在同一个集合中可以包含不同格式的文档: 不用创建 没有结构 可以放不同的文档

概念3:数据库

多个集合可以组成数据库 一个MongoDB实例可以承载多个数据库 之间完全独立 无需创建 一个数据库有多个集合 一个集合有多个文档

数据库里放集合 集合里放文档 操作的是文档 数据库和集合都不需要手动创建 创建文档时 如果文档所在数据库和集合不存在 会手动创建

连接:

mongodb://example1.com:27017,example2.com:27017

查看当前数据库

db

创建数据库

use 库名 如果不存在就创建

查看所有数据库

show dbs 如果创建过的数据库不显示 那么就往新创建的插入数据

数据库的增删改查

插入文档

当插入文档时候 如果没有给定_id属性 则数据库会自动增加 区分文档的唯一 ObjectId()

db.集合的名字.insert(文档内容)
如:往 stus集合 插入文档 (插入单条) db.stus.insert({name:"zzs",sex:"1"})

插入多条

db.stu.insert([ {"name":"孙悟空",sex:"男"}, {"name":"猪八戒",sex:"男"} ])

insertOne() 插入一个

insertMany() 插入多个