【发布时间】:2020-05-11 20:52:35
【问题描述】:
我正忙于一个类似 ToDo 的应用,我希望用户能够在其中向任务添加附件。
比起代码,我更苦恼于应用的架构。
对于我的前端,我使用 Vuejs,Nodejs 作为后端,MongoDB 作为我的数据库,我正在考虑将其托管在 Heroku 上。我正在考虑使用 AWS S3 来存储我的任务的附件。
我不确定是否应该通过我的节点服务器将文件上传到 S3,或者是否应该通过预签名的 URL 进行上传。另外我不确定哪种是从 S3 下载附件的最佳方式,我认为预签名的 URL 将是最好的方式。
我的主要困惑是如何保留任务的所有附件的索引。在 MongoDB 中存储与我的 Task 模型相关的索引是最好的方法吗?还有哪些关于应该存储哪些元数据的约定?
最后,我想知道关于如何组织上传到 S3 的文件是否有任何约定。将文件保存在任务的数据库 ID 下是否可以?我应该更改文件名吗?
【问题讨论】:
标签: node.js mongodb amazon-web-services amazon-s3 cloud-storage