数据库

  • 概念:按照数据结构来组织、存储和管理数据的仓库
  1. 分类
  • 关系型数据库(Sql)
  • 代表:MySql
  • 数据库->表->行
  • 非关系型数据库(NoSql)
  • 代表:MongoDB
  • 数据库->集合->文档(文档是Bson键值对)
  1. Bson(Binary json)
  • bson是json的超集
  • bson相比json多了二进制和其他数据的存储
  • MongoDB的存储数据类型就是bson
  1. 两种数据库的区分
  • 看是否有表
  1. MongoDB的安装与环境部署
  • 下载完成后安装即可
  • 环境变量:在Path中添加C:\Program Files\MongoDB\Server\ 版本号\bin
  • 创建文件夹
  1. 在d盘(或其他盘符)建立一个文件夹mongodb(把mongodb文件夹的只读属性去掉),并且建立子目录db和log
  2. 在log目录下建立一个文件MongoDB.log ,后缀为.log
    d:\mongodb\db、d:\mongodb\log, 分别用来存放数据库文件和数据库日志文件
  • 将MongoDB安装成Windows服务
  1. 以管理员身份运行CMD,进入安装目录的bin文件夹
  2. 执行:mongod --storageEngine mmapv1 --dbpath "d:\mongodb\db" --logpath "d:\mongodb\log\MongoDB.log" --install --serviceName "MongoDB"
  3. 启动服务:> NET START MongoDB
  4. 测试服务:> mongo
  5. 关闭服务和删除进程:> ctrl+c,net stop MongoDB
  1. 常用命令
  • -help 查看帮助
  • show dbs 显示数据库列表
  • use name 创建数据库
  • show collections 显示数据库中的集合
  1. 基本操作(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)
  • db.colName.find({}) 查询集合中的所有文档
  • db.colName.find({},{}) 将第二个参数中想显示的显示出来
  • eg:db.colName.find({},{ _id: 0,name: 1,age: 1})
  • db.colName.find({}).sort({age: 1})
  • 根据年龄做排序 1是升序 -1 是降序
  • db.colName.find({}).limit()
  • 将查询出来的数据做一个截取
  • > gt
  • < $lt
  • >= $gte
  • <= $lte