我正在尝试在我的 MongoDB 增长太多之前进行一些反规范化。目前我有一个用户和一个房间集合。用户可以加入房间和房间持有用户。随着时间的推移,用户可能会接近数百万,而 Room 可能会增长到数千。房间可以有成千上万的用户。我应该将完整的用户文档存储在每个 Room 文档中还是只存储 ObjectID?还是应该将 Room 文档的 ObjectID 存储在每个用户文档下的数组中?我知道加入是不受欢迎的,但它们会以惊人的速度增长。我还需要对房间中的所有用户进行复杂的计算。关系是多对多的。目前,我将为每个 Room 存储一个数组,其中包含每个用户的 ObjectID。我还将为每个用户存储一个数组,其中包含他们所在的每个房间的 ObjectID。这有意义吗?
我应该做对象嵌入还是应该为我的情况做对象引用?