MongoDB学习
1,MongoDB介绍
MongoDB是为快速开发互联网Web应用而设计的数据库系统。
MongoDB的数据模型是面向文档的, 所谓文档是一种类似JSON的结构,简单理解MongoDB这个数据库中存的是各种各样的JSON。是一种类似于 JSON 的格式叫BSON
2,MongoDB的三种概念
1)数据库:数据库是一个仓库,仓库中可以有多个集合
2)集合:集合类似与数组,在集合中存放文档
3)文档:文档数据库的最小单位,存储和操作的内容都是文档
3,MongoDB的优势
1)易扩展:对比于关系型数据库而言,数据之间无关系
2)大数据量,高性能:因为数据无关系,所以大数据量下很优秀
3)灵活的数据模型:NoSQL⽆需事先为要存储的数据建⽴字段, 随时可以存储⾃定义的数据格式
4,MongoDB和MySQL对比
5,MongoDB和关系型数据库对比
6,常用命令
举例:H:\tools\mongodb\mongodb-windows-6.0.4\mongodb-6.0.4
(进入mongo安装目录。在cmd中输入mongosh 然后切换数据1,show dbs 2,use tese01)
1)show dbs :展示当前所有的数据库
2)use 数据库名 :使用某一数据库
3)db.test01.insert({“name”:”aa”}):给test01添加一个name并赋值
4)Db.test01.find():查看test01数据库的所有信息
5)Db.test01.find({“name”:”aa”});查看name为aa的数据
6)db.test01.find({“age”:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:20}̲}) 查询大于20的数据 7)…lt:20}})
查询小于20的数据
8)db.test01.find({“age”:{KaTeX parse error: Expected 'EOF', got '}' at position 7: gte:20}̲}) 查询大于等于20的数据 …lte:20}})
查询小于等于20的数据
10)db.test01.find({name:/a/})
模糊查询name有a的数据
11)db.test01.find({name:/^a/})
模糊查询name以a开头的数据
12)db.test01.find().sort({age:-1})
根据age降序查询数据
13)db.test01.find().sort({age:1})
根据age升序查询数据
14)db.test01.find().limit(1)
查询前1条数据
15)db.test01.find().skip(4)
查询跳过4条数据后的数据
16)db.test01.find().limit(4).skip(2)
查询2到4的数据
17)db.test01.find({KaTeX parse error: Expected 'EOF', got '}' at position 23: …e:12},{age:29}]}̲) 查询age等于12或者ag…gt:18}}).count();
统计age大于18的数据
20)db.test01.update({“name”:”aa”},{$set:{“age”}})
修改name为aa的age值为25
21)
db.createUser({user:“root”,pwd:“123456”,roles:[{role:“root”,db:“admin”}]})添加账号和密码