1.数据库分类
(1)数据库是按照数据结构来组织、存储和管理数据的仓库。
(2)关系型数据库(SQL):mySql
数据库–>表–>行
表与表之间的数据记录存在联系,以表、行和列的形式存储数据。
(3)非关系型数据库(NoSQL):MongoDB
数据库–>集合–>文档
最小的“数据条目”不是“行”,而是“文档”。
数据记录之间不存在联系。
2.MongoDB
(1)简介
MongoDB是基于分布式文件存储的数据库。
(分布式算法是指将一个大的任务分成小的任务,再将小的任务的结果拼接起来)
(2)特点
高性能、易部署、易使用、存储方便。
文件存储格式是BSON(JSON的拓展)。
(3)BSON(Brinary JSON)
BSON是一种类似JSON的二进制的存储格式,可以存储视频、音频。
3.MongoDB安装
配置系统变量路径。
4.MongoDB使用
(1)基本操作
show dbs (显示数据库列表)
use dbname (创建/切换数据库,存在时切换,不存在就创建)
show collections (显示数据库中的集合)
(2)增加
db.dbname.save({name:‘lisi’})
db.dbname.insert({name:‘lisi’,age:10})
save()和insert()区别:
当新增加的主键已存在的之后,save()会覆盖之前的数据,insert()不会覆盖并会报错。
(3)删除
db.dbname.remove() (删除该集合下的所有数据)
db.dbname.remove({name:‘aaa’}) (删除该集合下特定的数据)
db.dbname.drop()/db.runCommand({drop:‘dbname’}) (删除特定集合)
db.runCommand({dropDatabase:1}) (删除当前数据库,1不需要加引号)
(4)查找
db.dbname.find() (查找该集合中所有的数据)
db.dbname.findOne() (查找该集合中的第一条数据)
db.dbname.find().pretty() (将查找到的数据格式化)
db.dbname.find({A},{B})
(A:查找时的条件,B:希望显示的内容,0隐藏,1显示。_id默认显示,其他默认隐藏)
(5)修改
主键无法修改
db.dbname..update({name:‘aaa’}/A,{$set:{age:‘10’}}/B,true/C,true/D)
A:查找条件,B:修改内容,C、D可以省略,C:表示符合条件的数据,D:表示修改符合条件的数据。
true:表示所有,false:表示第一条
(6)进阶命令
db.dbname.find({age:{$lt:value}})
大于 g t 小 于 g t 小 于 g t 小 于 gt小于gt小于 gt 小于 gt小于gt小于gt小于gte小于等于lte
不等于$ne