Mongodb 如何存储大型用户特定数据 所以我在计划一个小的Web应用程序,它需要在用户级存储大量的数据,在一种情况下,系统从一个系统级获取一个大的对象,并生成一个“用户特定”的版本,用户可以有多个版本。最简单的方法是将其与存储在谷歌电子表格中的表单进行比较,用户希望使用模板电子表格,然后不仅更改答案,还更改问题。 安全方面我很好

Mongodb 如何存储大型用户特定数据 所以我在计划一个小的Web应用程序,它需要在用户级存储大量的数据,在一种情况下,系统从一个系统级获取一个大的对象,并生成一个“用户特定”的版本,用户可以有多个版本。最简单的方法是将其与存储在谷歌电子表格中的表单进行比较,用户希望使用模板电子表格,然后不仅更改答案,还更改问题。 安全方面我很好,mongodb,database,Mongodb,Database,在第二种情况下,需要再次在用户特定级别上存储多个对象,大小约为250k到3mb,并且有可能将其移动到系统级别,以便其他用户可以访问它。例如,假设用户可以上传图片,但可能不想共享所有图片。但是,用户可能会选择“发布”少量图片,因为他们对这些特定图片感到满意 什么样的设计模式,我应该考虑使用特定的Web应用程序,用户有体面的数据量?例如,使用一个大型数据库并拥有一个跟踪资源的表或为每个用户创建单独的表最有意义吗 我考虑过把它全部放在mongo数据库中 你的方法可能是错误的 如果要存储基于用户的二进制

在第二种情况下,需要再次在用户特定级别上存储多个对象,大小约为250k到3mb,并且有可能将其移动到系统级别,以便其他用户可以访问它。例如,假设用户可以上传图片,但可能不想共享所有图片。但是,用户可能会选择“发布”少量图片,因为他们对这些特定图片感到满意

什么样的设计模式,我应该考虑使用特定的Web应用程序,用户有体面的数据量?例如,使用一个大型数据库并拥有一个跟踪资源的表或为每个用户创建单独的表最有意义吗


我考虑过把它全部放在mongo数据库中

你的方法可能是错误的

如果要存储基于用户的二进制数据并使其可供用户本身或社区访问,则需要如下层次结构:

  • 用户ID1
    • 图1,图2,图3
  • 用户ID2
    • 图4,图5,图6
  • 社区
    • 图7,图8
然后,您可以为所有用户向“社区”授予读取权限,并为每个用户向其自己的目录授予权限

<>通常,如果考虑分区、角色权限和访问数据的适用接口,使用数据库来存储二进制文件没有什么错。 我的建议是使用像Artifactory这样的二进制存储库。 它提供层次结构、使用HTTP请求的简单搜索查询,并具有频繁查询对象的缓存功能。 我还认为http请求更容易使用,而且数据有一个更安全的抽象层


人工制品是免费的。

非常感谢。当你说userid1:pic1,pic2,pic3时,我说的是对pic的引用,而不是pic本身吗?在artifactory中,你存储二进制文件。对图片的引用将是URL。例如,如果user1发布一张图片,您将使用图片二进制数据向artifactory发出HTTP post请求。这将通过一个简单的HTTP GET请求使它对用户可用。想象一下:它将成为你的参考。您只需要UserID和PicID。要查看用户的所有图片,只需调用不带图片ID的URL,它将返回包含所有可用图片的目录结构。