【问题标题】:Sequelize assign query parameters to ModelSequelize 将查询参数分配给模型
【发布时间】:2021-03-23 20:19:45
【问题描述】:

我在一个控制器文件中导入了几个模型,用于查询 Sequelize。

const ModelA = require('../models/ModelA')
const ModelB = require('../models/ModelB')

我想创建一个 API(使用 express 和 NodeJS),允许一个名为 include 的查询参数。

GET /api/v1/myrequest?includes=ModelA,ModelB

包含是可选的。

我生成一个查询对象:

const { include } = query.params      
const queryObject = {}
      queryObject.include = [{
        model: Model,
        as: 'Model',
        include: include ? include.split(',') : [] // either ModelA, ModelB, none or both
      }
      ]

它不起作用,因为动态包含查询只是一个数组。但我想要的是将我导入的真实模型映射到 req.query 请求。

【问题讨论】:

    标签: node.js express sequelize.js


    【解决方案1】:

    所有模型都应事先在 Sequelize 中注册。这样,您可以执行以下操作:

    include.split(',').map(x => sequelize.models[x])
    

    【讨论】:

      猜你喜欢
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      相关资源
      最近更新 更多