(Node+Express+Vue) 操作数据库

最近在用node整项目,下面来分享一下如何从数据库读取数据列表

javascript 复制代码
// 引入公共方法
const Common = require ('./common');
// 引入常量
const Constant = require ('../constant/constant');

// 配置对象
let exportObj = {
  list
};
// 导出对象
module.exports = exportObj;

// 获取数据列表
function list (req, res) {
  // 定义一个返回对象
  const resObj = Common.clone (Constant.DEFAULT_SUCCESS);
  // 定义一个async任务
  let tasks = {
    // 校验参数方法
    checkParams: (cb) => {
      // TODO: 校验参数
      Common.checkParams (req.query, ['page', 'rows'], cb);
    },
    query: ['checkParams', (results, cb) => {
      // 设置分页信息
      let offset = req.query.rows * (req.query.page - 1) || 0;
      let limit = parseInt (req.query.rows) || 20;
      //TODO: 存放查询条件信息
      let whereCondition = {};
      Model
        .findAndCountAll ({
          where: whereCondition,
          offset: offset,
          limit: limit,
          order: [['time', 'DESC']],
        })
        .then (function (result) {
          let list = [];
          result.rows.forEach ((v, i) => {
            let obj = {
              //TODO: 封装返回数据信息
              id: v.id
            };
            list.push (obj);
          });
          //TODO: 封装列表数据
          resObj.data = {
            list,
            count: result.count
          };
          //TODO: 继续后续操作
          cb (null);
        })
        .catch (function (err) {
          //TODO: 错误处理
          console.log (err);
          // 传递错误信息到async最终方法
          cb (Constant.DEFAULT_ERROR);
        });

    }]
  };
  // 执行公共方法中的autoFn方法,返回数据
  Common.autoFn (tasks, res, resObj)

}
相关推荐
一袋米扛几楼9836 分钟前
【软件安全】什么是XSS(Cross-Site Scripting,跨站脚本)?
前端·安全·xss
向上的车轮37 分钟前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
XiaoYu20021 小时前
第1章 核心竞争力和职业规划
前端·面试·程序员
excel1 小时前
🧩 深入浅出讲解:analyzeScriptBindings —— Vue 如何分析 <script> 里的变量绑定
前端
蓝瑟1 小时前
AI时代程序员如何高效提问与开发工作?
前端·ai编程
林晓lx1 小时前
使用Git钩子+ husky + lint语法检查提高前端项目代码质量
前端·git·gitlab·源代码管理
王同学要变强2 小时前
【深入学习Vue丨第二篇】构建动态Web应用的基础
前端·vue.js·学习
程序定小飞2 小时前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring
Hello_WOAIAI2 小时前
2.4 python装饰器在 Web 框架和测试中的实战应用
开发语言·前端·python
FinClip2 小时前
凡泰极客亮相香港金融科技周,AI助力全球企业构建超级应用
前端