node.js - 为什么模式字段没有使用节点 js 保存在数据库中
问题描述
我正在尝试将多个字段文件保存到 mongodb 中,目标路径正在保存但字段没有保存在 mongodb 中,我在哪部分做错了请帮助我提前谢谢
架构:-
{
thumbnail: { type: String, data:Buffer},
trailerVideo : { type: String, data:Buffer},
}
创建要保存在 mongodb 中的实例:-
const courseFields = new Courses({
thumbnail: req.files.path,
trailerVideo: req.files.path
});
courseFields
.save(courseFields)
混合数据:-
const multer = require("multer"),
storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, 'uploads')
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
const uploadImg = multer({
storage: storage
}).fields([{name:'thumbnail'},{name:'trailer'}]);
解决方案
req.files
是一个array
,所以你应该指定一个文件索引来获取文件路径。如果每个字段中只有一个文件。您的实例应该是:
const courseFields = new Courses({
thumbnail: req.files[0].path,
trailerVideo: req.files[0].path
});
courseFields
.save(courseFields)
或者每个字段有多个文件。您可以遍历它以获取路径列表并将它们存储在数组中。
参考: multer docs
推荐阅读
- java - Copying data from a DLL to a ByteBuffer (JNA)
- spring-boot - 为什么我的 Spring Cloud Stream 配置会创建多个 kafka 消费者
- python - 将 .caffemodel 转换为 .mlmodel 失败
- sql - 排除 count > 5 的记录并选择其中的前 1 个
- python - 尝试将数据添加到 solr 时使用 pysolr 出现 400 错误
- c++ - 无法使用 gcc 8.4 在 c++ 中创建线程
- node.js - io.engine.generateId() 在打字稿中不起作用
- java - Spring MVC,我的 index.jsp 中没有显示数据
- linux - 使用 awk 和 sed 对带有头部和尾部的重复数据块进行排序
- python - 如何在 cuda 环境中的 opencv 中使用过滤器?