Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
订阅模型的Mongodb设计_Mongodb_Mongoose - Fatal编程技术网

订阅模型的Mongodb设计

订阅模型的Mongodb设计,mongodb,mongoose,Mongodb,Mongoose,我正在开发一个应用程序,用户应该能够订阅3个级别的新闻信函。这三个层次是 计划 子项目 组成部分 我脑海中有一种单独的收集方法,如下所示: 项目集合 身份证 项目名称 子项目集合 身份证 子项目名称 投射 组件集合 身份证 组件名称 子项目 用户集合 身份证 用户名 订阅 项目:[项目ID数组] 子项目:[子项目ID数组] 组件:[组件ID数组] 我无法像Mongodb建议的那样获得更好的使用嵌入文档的方法。拥有4个不同的集合有点头疼,必须编写更多的逻辑来解决连接问题 这里需

我正在开发一个应用程序,用户应该能够订阅3个级别的新闻信函。这三个层次是

  • 计划
  • 子项目
  • 组成部分
  • 我脑海中有一种单独的收集方法,如下所示:

    项目集合

    • 身份证
    • 项目名称
    子项目集合

    • 身份证

    • 子项目名称

    • 投射

    组件集合

    • 身份证

    • 组件名称

    • 子项目

    用户集合

    • 身份证

    • 用户名

    • 订阅

      • 项目:[项目ID数组]

      • 子项目:[子项目ID数组]

      • 组件:[组件ID数组]

    我无法像Mongodb建议的那样获得更好的使用嵌入文档的方法。拥有4个不同的集合有点头疼,必须编写更多的逻辑来解决连接问题

    这里需要注意的一点是,例如,用户可以订阅
    子项目
    ,也可以不订阅
    项目

    用例是检索用户订阅列表,为用户添加更多订阅并更新用户订阅


    请根据您的经验提出您的观点和想法。

    仅仅因为您可以嵌入,这样做并不总是一个好主意。可以将嵌入看作是链接“一到极少数”关系的捷径。我写过,你可能会觉得有趣。仅仅因为你可以嵌入,这样做并不总是一个好主意。可以将嵌入看作是链接“一到极少数”关系的捷径。我写过,你可能会觉得有趣。