gpt4 book ai didi

java - 在哪里存储相互引用的对象列表?

转载 作者:可可西里 更新时间:2023-11-01 09:52:43 26 4
gpt4 key购买 nike

我正在使用 Java 进行 Web 开发,后端使用 MongoDB。我有两个需要彼此列表的数据库对象。 ex-

客户对象包含 - List<MediaServer>

MediaService 对象包含 - List<Customer>

1) 我是否应该删除其中一个列表,以免相同的信息存储在两个地方?例如删除媒体服务器的客户列表。当我拉一个客户时,遍历所有媒体服务器以确定客户被分配到哪些媒体服务器。

2) 在 MongoDB 中有没有更好的地方来存储这种类型的信息?

谢谢!

最佳答案

在 MongoDB 中,在多个地方复制数据更为正常。如果您的列表不经常更改,那么存储两个列表并没有真正的缺点 - 现在硬盘空间并不像规范化风靡一时时那样昂贵。

对于 Mongo(以及任何应用程序开发)要始终牢记的一点是弄清楚您的访问模式是什么,并根据频繁的模式创建您的模式。如果您定期阅读这些列表但不经常更新它们,那么将两个列表都放在数据库中就可以了。

但是,如果您经常更改这两个列表,您可能会发现自己每次都在两个地方更新数据。

但是,您还应该记住,如果您正在存储 ID 列表,当您想要获取此 ID 的完整对象/文档时,将需要往返服务器。因此,如果对于每个客户(例如)您始终需要有关所有 MediaServers 的所有信息,则您将需要通过网络为每个 MediaServer 进行一次访问该客户的列表中的 ID。

关于java - 在哪里存储相互引用的对象列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16877564/

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