管理应用程序生成的文件的正确方法

时间:2019-01-02 12:21:41

标签: mysql node.js blob

tl; dr

在我的node.js应用程序中,创建pdf文档。保存它们的最佳/正确方法是什么?现在,我使用node.js文件服务器和shell.js来做到这一点。

我正在开发一个node.js Web应用程序,以管理公寓和租户以进行学习,并在某些时候创建了要保存在路径下的PDF文档

  

/documents/building_name/apartment_name/tenant_name/year/example.pfd

现在,如果用户想通过http PUT请求更改建筑物,公寓或租户名称,我将更改数据库,但也希望更改路径。

两者都可以,但是我不能为这些功能编写好的测试。

现在,一位朋友告诉我,将文档保存在文件服务器上是一种不好的做法,我最好使用BLOB。

另一方面,Google并不完全同意使用Blob

那么保存文档的正确方法是什么?

谢谢

授予

1 个答案:

答案 0 :(得分:0)

您首先应该定义真理的来源。除非您有法律义务保留这些文件的副本并且不经常访问它们,否则我什至不会费心存储所有文件并根据请求生成它们。

如果不这样做,请保持数据库清洁,斑点会使其变得巨大。将它们放入冷存储中(再次假设它们没有被频繁访问)没有这些路径。如果路径依赖于经常更改的信息,那么文件服务器和系统都无法执行。

相反,在数据库中存储可以在其下找到该文件的修订号,并将路径结构限制为很少更改的信息。

{building}/{apartment}/{tenant}_{revision}.pfd

根据您的备份结构,它会允许您在必要时进行时间旅行,而不会一直强制重新编制索引。

注意:对于您的用例,我不太了解。