是否可以在不循环的情况下在Sequelize中的传入值前面添加一些内容?
Is it possible to add something in front of the incoming value in Sequelize without looping?
我正在使用 Sequelize 库。当我 return 文件路径时,我需要在开头添加一组路径。我必须 return 为此吗?
太糟糕了..:'(
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
您可以在模型中添加 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')}`);
})
我正在使用 Sequelize 库。当我 return 文件路径时,我需要在开头添加一组路径。我必须 return 为此吗?
太糟糕了..:'(
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
您可以在模型中添加 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')}`);
})