首页 > 解决方案 > 是否可以在不循环的情况下在 Sequelize 中的传入值前面添加一些东西?

问题描述

我正在使用 Sequelize 库。当我返回文件路径时,我需要在开头添加一组路径。我必须为此返回吗?

太糟了.. :'(

const getDatabase = await itemModel.findAll({
        attributes: ['itemId', 'itemFilename', 'itemOriginalName']
    })
    let responseData = []
    getDatabase.forEach(element => {
        responseData.push({
            itemId: element.itemId,
            itemOriginalName: element.itemOriginalName,
            itemFilename: `${process.env.SERVER}/getMyFiles/${reqAuth.userCompany}/items/${element.itemFilename}`
        })
    })
    return responseData

标签: sequelize.js

解决方案


您可以在模型中添加 beforeFind 钩子:

// in your itemModel.js file
ItemModel.beforeFind((instance, options) => {
  // set method does not save to db unless you tell instance.save()
  instance.set('itemFilename', `${process.env.SERVER}/getMyFiles/${reqAuth.userCompany}/items/${instance.getDataValue('itemFilename')}`);
})

推荐阅读