gpt4 book ai didi

MongoDB:使用嵌入式对象的好处

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

使用嵌入式对象有什么好处?

在我的实践中,我很少在其父对象之外使用嵌入对象。我的意思是 comments 的常见示例,它们是embedded_in post:我需要在更新列表中显示最后的评论,我需要显示 current_user 的评论等。所以评论不能被嵌入或者它会是头疼。

所以我需要使用嵌入对象的用例很少。

问题是:即使在那些罕见的用例中,我为什么还要使用嵌入对象,嵌入有什么好处?

最佳答案

嵌入式对象是任何 nosql 数据库的一大优势。通常嵌入 = 读取性能 + 可扩展性。让我们以SO为例。您可以在问题、答案文档中嵌入问题/答案评论。这意味着当您需要显示答案/问题时,您无需加入评论。如果您不需要加入 - 您可以将集合移动到单独的计算机以加速您的应用程序。在关系数据库中,子对象通常成为一个单独的表(非规范化除外)。在我的实践中,我需要嵌入文档的情况非常非常多。

并非所有情况下都嵌入了良好的拟合,您确实认为在某些情况下会出现“痛苦的屁股”。您无需嵌入所有内容!在您的情况下,只需为评论创建单独的集合或..

在 nosql 世界中还有另一个众所周知的概念:反规范化

I need to show last comments in the list of updates

好的,如果您需要最新更新,您可以将最新评论插入到您的更新集合中以快速显示。

I need to show comments for current_user

好的,将用户评论嵌入到用户对象中。

顺便说一句,非规范化通常是异步过程,因为将一个对象写入多个集合会导致写入性能问题。

希望我的回答能给你一些想法。

关于MongoDB:使用嵌入式对象的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7377253/

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