node.js - 在nodejs express中上传多个文件,将目标名称作为新的对象ID
问题描述
我正在研究 Nodejs、Express 和 Mongodb 后端(和邮递员)。我想从邮递员那里获取表单数据字段title
,subject
其中标题coverPhoto
和attachment
主题是文本字段(在邮递员表单数据中),封面照片和附件是文件。
我想要什么: 我有一个书的模式,比如 -
const bookSchema= new mongoose.Schema({
title: {
type: String,
required: true
},
subject{
type: String,
required: true,
},
coverPhoto{
type: String,
},
attachment{
type: String
}
});
和一个路由器,例如 -
router.post('/book',[//express-validator checks] , (req,res) =>
{
//... some code ...
let book = new bookSchema({title,subject,coverPhoto,attachment}); // save to schema
});
我想创建一个新的 mongo bookSchema 对象,我将在其各自的字段中保存 coverPhoto 和附件的路径。
问题:我希望每本书根据它们的对象 id 保存在一个单独的目录中(新对象将返回 ie book._id
(mongoose id)),例如/uploads/60d4cdc5c6f54c051cf01fed/cover-image.png
和/uploads/60d4cdc5c6f54c051cf01fed/book.pdf
我已经尽可能多地尝试了 multer,但我无法实现这个期望的输出。如果有人可以帮忙,请做。
解决方案
推荐阅读
- deprecation-warning - 警告使用未定义的常量..这将在未来版本的 php 中引发错误
- java - Spring - 使用 CriteriaQuery(规范)的 OrderBy 关系属性忽略不具有关系的行
- azure-functions - 如何在 Azure 数据湖中读取和写入文件
- react-native - React Native 错误 - 尝试将命令发送到带有标签 203 的不存在视图
- jupyter-notebook - 未找到与 tcolorbox.sty 相关的 LaTeX 错误
- ubuntu - 使用 Nginx 服务器阻止 301 重定向但域不重定向
- google-cloud-data-fusion - 在云数据融合中转换为日期
- html - 用css调整页面高度
- swift - SceneDelegate中Launch和第一个ViewController之间黑屏闪烁
- multithreading - std::packaged_task 和 std::function 的行为