数据库
存储在硬盘中的对数据进行统一组织与管理的仓库。
数据库分类
- 关系型数据库
MySQL、Oracle、DB2、SQL Server等,存储的全部是表 - 非关系型数据库
MongoDB、Redis等,键值对数据库
MongoDB
- MongoDB是为快速开发互联网Web应用
而设计的数据库系统。 - MongoDB的设计目标是极简、灵活、作为Web应用栈的一部分。
- MongoDB的数据模型是面向文档的,所谓文档是一种类似于JSON的结构,简单理解MongoDB这个数据库中存的是各种各样的JSON。(BSON),它的结构是:MongoDB包含多个数据库,每个数据库又包含多个集合(
collection
),每个集合下包含多个文档,文档中存有数据。
MongoDB数据库的使用
- 新版MongoDB不再支持32位操作系统,官网下载MongoDB后需要进行一系列环境配置,在此不做赘述,配置完成后可以在命令行通过
mongo
指令直接使用数据库,通过show dbs
指令可以显示所有的数据库,初始情况下只有三个数据库:admin,config和local。
mongoDB增删改查操作
增加
use +名称的格式可以直接使用或创建新的数据库(有则使用,没有则添加),比如use tes,通过db 集合名.insert(文档)的格式可以为集合添加数据:db.tes.insert()
,该方法接收一个对象或者对象数组
db.tes.insert({
name:"tom",
age:20,
score:90
})
删除
-
db.collections.remove()
,根据条件删除文档,默认根据条件删除多个,可以接受两个参数,第二个参数默认为false,表示删除全部符合条件的文档 -
db.collections.deleteOne()
删除第一个符合条件的文档 -
db.collections.deleteMany()
删除全部符合条件的文档
特别的还有删除当前集合的方法(集合中的数据连带删除)htmldb.stus.drop()
删除当前数据库的方法db.dropDatebase()
删除当前正在使用的数据库
db.stus.remove({"age":21})//第二个参数默认为false
db.stus.remove({"age":21},true)//表示只删除一个
db.stus.drop()//删除stus这一集合
修改
db.collections.update()
用新对象替换旧对象db.collections.updateOne()
替换第一个符合条件的文档db.collections.updateMany()
替换多个符合条件的文档
db.stus.update({name:"tom"},{name:"tom",age:33});
db.stus.updateMany({name:"tim"},{$unset:{name:"jerry"}})
$unset
表示不删除对象而只是删除文档的这个属性,类似还有$set
,表示仅仅只替换对应的属性
查找
db.stus.find()
,根据条件查找文档,参数传入一个对象db.stus.findOne()
,查找第一个符合条件的文档
db.stus.find({name:"tom"})
db.stus.find()//显示全部
db.stus.find().length()//获取文档的个数