什么是最好的方式来链接一个图像与mongodb项目?



我目前正在构建我的第一个真正的项目,其中包括Express和MongoDB。因为这是我在Udemy课程之外做的第一个繁重的后端项目之一,所以我遇到了很多问题。

我的项目应该是一个模拟在线商店,它将显示我在MongoDB服务器中创建的项目。我遇到的问题是,我不知道如何正确地提供那些应该与每个项目相关联的图像文件(例如帽子的图像,用于帽子项目)。我可以将它们直接添加到项目的公共文件夹中,但我不知道就我希望这个项目展示的可扩展性而言,这是否可行。但是MongoDB似乎不会让我在每个项目中存储图像。我该怎么做呢?

如果有任何不清楚的地方,请提前道歉,这也是我第一次发帖。如果需要的话,我也会尽量提供更多的信息。谢谢!

如果你想要一个可扩展的图像解决方案,你通常会使用一个单独的服务,如AWS S3或Imgix。

使用第三方服务有几个好处。您不会因图像请求或图像大小调整而使web服务器陷入困境。你得到了几乎无限的空间。等。

在您的MongoDB文档中,您将存储一个键,如/item/1.jpg或其他,而不是图像本身。然后,当有人访问您的网站时,您的前端使用该密钥请求图像。

如果你想要一个完整的解决方案,我建议从Imgix(或Cloudinary,或一些类似的服务)开始。它比S3贵,但是对于一个小项目来说是相当便宜的,而且它会让你更快地启动和运行。

最新更新