gpt4 book ai didi

MongoDB 嵌入式文档与系统用户配置文件的唯一 ObjectIds 引用

转载 作者:IT老高 更新时间:2023-10-28 13:29:50 24 4
gpt4 key购买 nike

我想编写一个 Web 应用程序,其中大部分部分都依赖于用户配置文件(例如每个人不同的待办事项列表等),并且我喜欢使用 MongoDB。我正在考虑为主要个人资料文档创建大约 10 个可嵌入文档,并将与一位用户相关的所有内容保存在他自己的文档中。

我没有看到为 mongodb 使用外键的明确方法,唯一的方法是创建一个类型为 ObjectId 的 to_do_id 字段,但它们在内部完全不相关,只是碰巧有相同的我必须查询的 ID。

  1. 顶级文档中嵌入文档类型的数量是否会降低性能?
  2. 你们如何解决在呈现每个人的 View 时拥有一个大多数文档都必须与之相关的中央个人资料文档的问题?
  3. 您是否在 MongoDb 中使用半外键,并且具有 ObjectId 类型的字段,这些字段将具有其他文档的唯一 ID,而不是嵌入它们?

我不知道什么时候应该采取什么方法。非常感谢!

最佳答案

  1. 在性能方面没有特殊限制。但是,文档越大,通过网络传输所需的时间就越长。始终检索整个文档。
  2. 我是通过引用来做的。您可以根据此页面在简单的手动引用和数据库 DBRef 之间进行选择:http://www.mongodb.org/display/DOCS/Database+References
  3. 上面的链接记录了如何以半外键的方式在文档中引用。 DBRef 可能适合您尝试做的事情,但简单的手动引用非常有效。

我不确定是否存在最佳引用方法的一般经验法则。由于我主要使用 Java 或 Groovy,因此我喜欢返回 DBRef 对象这一事实。我可以检查此数据类型并使用它来决定如何以通用方式处理引用。

所以我倾向于使用简单的手动引用来引用同一集合中的不同文档,并使用 DBRef 来引用跨集合。

希望对你有帮助。

关于MongoDB 嵌入式文档与系统用户配置文件的唯一 ObjectIds 引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7365883/

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