mysql - 多张图片 + Node.js + Sequelize + Mysql
问题描述
我想要在 Sequelize + node.js 和 MySQL 数据库 whereProduct.hasMany(images)
和images.belongsTo(Product)
. 我想将多张图片上传到数据库。
我已完成将多个图像上传到 AWS S3。但我想将这些图像的返回链接存储到数据库中。我无法处理这种关系,因为我无法同时将所有图像的链接添加到数据库。我想要的只是将不同的图像连同它所属的产品 ID 添加到表的每一行。
解决方案
我不确定 AWS S3 如何上传文件(图像),但我认为逻辑与以下相同
let images = [];
// to see if files field exist
if(req.files) {
// logic to save url in db
for (let i=0; i < req.files.length; i++) {
let image = await Image.create(req.files[i])
images.push(image)
}
}
// will assume req.body has required fields
const product = await Product.create(req.body)
// here use association mixins
await product.addImages(images);
要了解有关关联混合的更多信息,请查看此链接stackoverflow-question-about-sequelize-mixins
推荐阅读
- c# - 在 Linq 中为一对多关系编写 lambda 表达式时遇到问题
- javascript - Rails 6 中的 Webpacker - 为什么一些默认的 JS 库有 .start() 方法?
- javascript - 如何在php中同时进行按钮文件输入和发送到服务器?
- flutter - 有时小部件不会在生产版本中呈现
- ios - Swift 和 API:解码 JSON 树
- python - 张量流 CTC 损失函数 (tf.nn.ctc_loss) 的确切输入参数是什么?
- python - 在 Raspberry Pi 上使用 OpenCV 从 RTSP (Wyze Cam V2) 捕获的问题
- c - SDL2 带有 C 未定义的对“IMG_Load”的引用
- python - python中的迭代Hadoop mapreduce
- batch-file - Pentaho 作业未通过运行批处理文件执行