gpt4 book ai didi

mongodb - 在 mongo 中为每个用户存储收藏夹列表?

转载 作者:行者123 更新时间:2023-12-03 20:31:59 26 4
gpt4 key购买 nike

我正在使用 node、express 和 mongo 使用电影应用程序。如何在 mongo 数据库中存储每个用户最喜欢的电影列表?

最佳答案

在这里,您有两种选择:

  • 嵌入 :也就是说,将其最喜欢的电影列表包含在用户文档中
  • 拆分收藏 :为用户和电影使用两个单独的集合,通过 ID
  • 引用它们

    选择哪一个?

    您应该根据应用程序的访问策略设计 MongoDB 集合。

    一般来说,你应该去 嵌入电影进入用户文档,如果:
  • 检索用户信息时,始终检索嵌入的数据(电影)。如果您总是检索用户信息,但很少需要电影数据,那么嵌入就不会那么好。
  • 嵌入的数据不经常修改
  • 基数不是太大(记住 MongoDB 文档最大大小是 16MB)。在这种情况下,我认为每个用户最喜欢的电影的基数可以用来嵌入它们,但如果仅举个例子,您每个用户有 10 万部电影,您将被迫拆分集合
  • 数据完整性可能是一个问题:将电影嵌入到用户文档中,您可以利用文档级锁定(如果您使用的是 Wired Tiger 存储引擎)。否则,如果您在并发系统中,使用两个集合设计,您必须在应用程序级别自己处理锁定机制。
  • 关于mongodb - 在 mongo 中为每个用户存储收藏夹列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44673383/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com