- 数据库
- 使用数据结构来组织、管理、存储数据的仓库
- 数据库分类
- 关系型数据库
- 代表: MySql
- 非关系型数据库
- 代表:MongoDB
- 关系型数据库
- 两个类型数据库的区分
- 是否有表
- 两个数据库构成
- SQL
- 数据库 - 表 - 行
- NoSql
- 数据库 - 集合 - 文档
- 文档: 一个bson的键值对文档
- 数据库 - 集合 - 文档
- SQL
- bson
- bson是json的超集
- bson比json多了二进制等数据类型
- MongoDB的存储数据类型就是bson
- MongoDB的安装和配置
- MongoDB特点
- 分布式存储
- MongoDB基本操作 【 CURD 】
- 增加
- save
$ db.colName.save({})
- insert
$ db.colName.insert({})
- 区别: save对同一数据是修改,insert是报错
- save
- 删除
- remove
- 清空集合
$ db.colName.remove({})
- 删除集合中一条
$ db.colName.remove({name: "骏哥"})
- 删除集合
$ db.colName.drop()
- 删除数据库
$ db.runCommand({ dropDatabase: 1})
- 修改
- update
- db.colName.update( 匹配条件,修改内容,是否全匹配,是否全修改)
$ db.colName.update({name: "骏哥"},{$set: { age: 50}},true,true)
- update
- 查询
- find
- db.colName.find({}) 查询集合中的所有文档
- db.colName.find({},{}) 将第二个参数中想显示的显示出来
$ 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
- find
- 增加
用代码来操作数据库
我们需要使用一个第三方用来管理MongoDB的模块: Mongoose
- Node中最盛行的两个框架
- express
- koa/koa2
- koa是express升级版
- 包管理器问题
- npm 是全球最大的包管理器,它对应的网站是 www.npmjs.com
- 第三方的,速度较慢
- cnpm 是国内淘宝镜像源 它对应的网站是: https://registry.npm.taobao.org
- 国内的, 速度较快 ,不安全,不稳定
- 安装
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
- 测试
$ cnpm -v
有输出没有报错,那么恭喜你,安装成功了
- 代码思维
- 正向
- 逆向