我正在创建一个存储许多pdf文档(即教育内容)的网络应用程序。
我知道以下事实:将pdf文件存储在我的数据库(即MongoDB)中不是一个好习惯。
因此,我打算在我的MongoDB数据库上将pdf文件以及与pdf文件相关的其他详细信息(例如标题,主题,视图,等级,作者等)存储在AWS上。
我对AWS完全陌生,我将找到一种使用node将文件上传到AWS的方法,但是我不确定如何将文件链接到MongoDB中的文档(记录)。
注意:文件应该以某种方式链接到特定记录,这样我就可以轻松地使用URL或类似的方式在前端检索文件,而且打开这些文件时也不应直接访问这些文件该网址只能通过我的网站访问。
任何其他建议将不胜感激。
答案 0 :(得分:3)
This article显示的内容与您要实现的功能非常相似(代替文档,它们可以处理图像)。
使用MongoDB(或DynamoDB,这是一项AWS服务)存储文档元数据,并使用S3存储实际文档。流程如下所示:
请注意,在这种情况下,开发人员正在使用Lambda function保存元数据。您可以使用Node.js来实现Lambda函数。
答案 1 :(得分:1)
也许您可以在mongo记录中添加具有S3网址的字段?
答案 2 :(得分:1)
也许我最好的方法是将带有https://www.npmjs.com/package/multer或https://www.npmjs.com/package/formidable的pdf文件上传到AWS EC2实例,存储包括可用于获取对象的AWS S3对象密钥的文件元数据使用AWS SDK for JavaScript从s3开始。参见Working with Amazon S3 Objects