数据库
- 概念:按照数据结构来组织、存储和管理数据的仓库
- 分类
- 关系型数据库(Sql)
- 代表:MySql
- 数据库->表->行
- 非关系型数据库(NoSql)
- 代表:MongoDB
- 数据库->集合->文档(文档是Bson键值对)
- 关系型数据库(Sql)
- Bson(Binary json)
- bson是json的超集
- bson相比json多了二进制和其他数据的存储
- MongoDB的存储数据类型就是bson
- 两种数据库的区分
- 看是否有表
- MongoDB的安装与环境部署
- 下载地址:https://www.mongodb.comdownload-center#community
- 下载完成后安装即可
- 环境变量:在Path中添加C:Program FilesMongoDBServer 版本号in
- 创建文件夹
- 在d盘(或其他盘符)建立一个文件夹mongodb(把mongodb文件夹的只读属性去掉),并且建立子目录db和log
- 在log目录下建立一个文件MongoDB.log ,后缀为.log
d:mongodbdb、d:mongodblog, 分别用来存放数据库文件和数据库日志文件
- 在log目录下建立一个文件MongoDB.log ,后缀为.log
- 将MongoDB安装成Windows服务
- 以管理员身份运行CMD,进入安装目录的bin文件夹
- 执行:mongod --storageEngine mmapv1 --dbpath "d:mongodbdb" --logpath "d:mongodblogMongoDB.log" --install --serviceName "MongoDB"
- 启动服务:> NET START MongoDB
- 测试服务:> mongo
- 关闭服务和删除进程:> ctrl+c,net stop MongoDB
- 下载地址:https://www.mongodb.comdownload-center#community
- 常用命令
- -help 查看帮助
- show dbs 显示数据库列表
- use name 创建数据库
- show collections 显示数据库中的集合
- 基本操作(CURD)
- 增
db.name.save({})
db.name.insert({})
- 区别:save用于重复数据会修改,insert用于重复数据报错
- 删
db.name.remove()
清空集合db.colName.remove({name: "条件"})
删除某一条db.colName.drop()
删除集合$ db.runCommand({ dropDatabase: 1})
删库跑路
- 改
db.colName.update(匹配条件,修改内容,是否全匹配,是否全修改)
- eg:
db.colName.update({name: "条件"},{$set: { age: 50}},true,true)
- eg:
- 查
db.colName.find({})
查询集合中的所有文档db.colName.find({},{})
将第二个参数中想显示的显示出来- eg:
db.colName.find({},{ _id: 0,name: 1,age: 1})
- eg:
- db.colName.find({}).sort({age: 1})
- 根据年龄做排序 1是升序 -1 是降序
- db.colName.find({}).limit()
- 将查询出来的数据做一个截取
> gt
< $lt
>= $gte
<= $lte
- 增