「本文已参与「新人创作礼」活动,一起开启掘金创作之路。」
官方解释
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() 插入多个