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

}
相关推荐
懂懂tty17 小时前
CRA 迁移 Rspack(实战)
前端·架构
CV工程师(Ctrl)18 小时前
OpenClaw 安装与飞书接入(2026-04-19)
node.js·github·飞书·火山引擎·openclaw
小码哥_常18 小时前
Kotlin 助力 Android 启动“大提速”
前端
GreenTea19 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
Jagger_19 小时前
能不能别再弄低代码害人了
前端
朦胧之19 小时前
AI 编程开发思维
前端·后端·ai编程
踩着两条虫20 小时前
VTJ:快速开始
前端·低代码·架构
木斯佳21 小时前
前端八股文面经大全:携程前端一面(2026-04-17)·面经深度解析
前端·状态模式
Java后端的Ai之路21 小时前
LangChain ReAct Agent 核心技术问答
前端·react.js·langchain
码喽7号21 小时前
Vue学习七:MockJs前端数据模拟
前端·vue.js·学习