# nodejs_进阶 **Repository Path**: leijingqi/node.js-advanced ## Basic Information - **Project Name**: nodejs_进阶 - **Description**: 日常学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-21 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README docker :启动docker下载 docker-compose up -d ### SQL 新增 INSERT INTO Articles (title, content) VALUES ('test', 'cehiscontont') 修改 UPDATE Articles SET title = 'leijingqi', content = '雷晶棋测试' WHERE id = 2; 删除 DELETE FROM Articles WHERE id = 1; //查询 SELECT * FROM Articles SELECT id , title FROM Articles SELECT id , title FROM Articles WHERE id=2 SELECT id , title FROM Articles WHERE id>2 默认正序 asc SELECT id , title FROM Articles WHERE id>2 ORDER BY id DESC 倒序 desc SELECT * FROM Articles WHERE title like '%标题 10%' 模糊匹配 SELECT * FROM Articles LIMIT 0,10 分页 ### Sequelize ORM npm install -g sequelize-cli sequelize-cli 数据库简化操作 pnpm install --save sequelize sequelize init 初始化 (新增config) sequelize model:generate --name Article --attributes title:string,content:text //生成模型(初始化生成表配置文件) 生成 \models\article.js \migrations-->迁移表 sequelize db:migrate //迁移表(执行上面生成的文件) 生成数控库表 sequelize seed:generate --name article //填充数据 种子文件(/seeders 下的文件) -->新建种子文件 sequelize db:seed --seed xxx-article //执行种子文件 数据库填充数据 sequelize db:migrate:undo //回滚迁移--删除表 ### API 路径 /routes/admin 文章列表 /admin/articles ### 建立其他模型和表 https://clwy.cn/chapters/fullstack-node-create-tables 25回 ### 快速生成分类表 增删改查 sequelize seed:generate --name category -->生成种子文件 ==>手动添加数据 直接粘贴教程 sequelize db:seed --seed xxx-category -->执行种子文件 对模型 \models\category.js 进行校验 =>添加规则 直接粘贴教程 ### 设置setting 表 单一数据 sequelize seed:generate --name setting sequelize db:seed --seed 20250213071508-setting ### 用户表 sequelize migration:create --name add-avatar-to-user 迁移新增文件———表 (添加 字段头像avatar) 模型记得添加 avatar 字段 生成种子文件 sequelize seed:generate --name user 执行种子文件 填充数据 sequelize db:seed --seed 20250213075107-user 模型更改 (添加校验) -->文档 ### 模型验证 unique 必要要唯一索引 比较坑 使用自定义校验 ### bcryptjs 密码加密 pnpm i bcryptjs 在用户模型中 set方法校验 并且加密 ### 课程表 生成 种子文件 填充课程表数据 sequelize seed:generate --name course sequelize db:seed --seed 20250213091258-course ### 关联模型 在course模型添加 belongsTo 其他表 早course 引入其他模型(表) condition变量中添加 include: [ { model: Category }, { model: User } ], 继续使用attributes 过滤 | 指定字段 将 分类表 和 用户表 对课程表关联 有关联字段的表,一定是属于(belongsTo)其他表。 分类模型里就是hasMany有很多课程。 ### 处理孤儿记录 场景:分类id_1删除 课程表分类_id 没有父表 解决: 查询有课程表关联 不让删除 (代码逻辑)