(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)

}
相关推荐
cg50172 分钟前
Vue回调函数中的this
前端·javascript·vue.js
程序猿大波4 分钟前
基于Java,SpringBoot,Vue,HTML宠物相亲配对婚恋系统设计
java·vue.js·spring boot
前端太佬4 分钟前
从零到一实现扫码登录:一个前端菜鸟的踩坑实录
前端·javascript·架构
yuanmenglxb200415 分钟前
微信小程序核心技术栈
前端·javascript·vue.js·笔记·微信小程序·小程序
爱编程的鱼15 分钟前
如何让 HTML 文件嵌入另一个 HTML 文件:详解与实践
前端·html
_092720 分钟前
Vue 2 与 Vue 3 的核心区别及 Vue 3 新特性详解
前端
David凉宸21 分钟前
一文带你使用Vue完成移动端(apk)项目
前端
2501_9153738822 分钟前
Yarn 安装与使用教程
node.js
会飞的鱼先生33 分钟前
Vue3的内置组件 -实现过渡动画 TransitionGroup
前端·javascript·vue.js·vue
晓得迷路了34 分钟前
10 分钟开发一个 Chrome 插件?Trae 让你轻松实现!
前端·javascript·trae