koa2 开发后台系统😔
前言
稍微具备nodejs,koa2,js,es6,es8 基础
typescript 集成到项目中,执行命令前先构建 tsc && node
mongoDB 的安装与入门使用
- 普通软件安装
- 添加bin 路径到path 环境变量
- 方案1:手动启动服务 D:\Program Files\MongoDB\Server\4.0\bin>mongod --dbpath D:\\mongoDBData\db 路径不能有空格,会中断读取
- 方案2:mongod --dbpath D:\MongoDB\data --logpath D:\MongoDB\log\MongoDB.log --logappend --serviceName MongoDB --auth --install 注册为服务 net start MongoDB 启动
- 测试:http://localhost:27017/
```
mongod --auth --port 27017 --dbpath /var/lib/mongodb 命令行启动服务(路径换成自己的)
//增加一个用户,具备操作所有数据库的权限,其他角色请查阅资料
mongo //进入mongo 命令行
use admin
db.createUser(
{
user: "root",
pwd: "123456",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
use admin
db.auth("myUserAdmin", "abc123" )
mongo --port 27017 -u "root" --authenticationDatabase "admin" -p 如果直接进入,很多操作没权限
//代码连接时需要注明admin 库,否者认证不通过。(花了我半天找原因)
mongodb://root:123456@localhost:27017/coffee?authSource=admin 通过admin 库验证权限
```
关系型
优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。
非关系型
缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。
非关系型数据库的分类和比较:
1、文档型
2、key-value型
3、列式数据库
4、图形数据库
项目结构
typescript 的认识
缺点:
- 上手难度比java 大,java 由下而上每个类型都是固定的,所以上层写法都是固定的,而js 不具备这点
- 很多第三方库也都是根据js 实现,对typescript 并没有多少示例导致初学者用typescript 第三方库不知道怎么写,例如 只参考 mongoose 官网,写不出来typescript
- 集成第三方框架很难搞,集成node 还没搞定
优点: 对维护,代码阅读确实有好处
Redis
一个key-value 存储系统,支持字符串,set,zset,hash,list