拥有唯一键以更好地聚合 MongoDB 中的数据是个好主意吗

Is it a good idea to have unique keys to better aggregate data in MongoDB

你好,我正在创建一个应用程序,人们基本上可以加入群组来完成任务,每个群组都有一个唯一的名称。我希望能够更新与特定组相关的每个用户文档,而不必循环每个用户并在每次迭代时进行更新。

我想知道在 mongoDB 中使用这样的唯一密钥是否是个好主意。

{
...
"specific_group_name": (whatever data point here)
...
}

在每个用户文档中,所以我可以调用一个简单的

updateToMany(eq("specific_group_name",  (whatever data point here)), Bson object)

减少涉及的运行时间,以防组内有很多用户。

谢谢

只是要注意一点,而不是特定的组名,最好确保它是特定的groupId。还要特别注意您必须从人员中删除组的情况,以及特定组中的某个人不应该收到此更新的情况。

虽然你想做的是完全有效的。如果将 specific_group_name/id 放入集合中,则将 selection 逻辑移至 db。如果您正在进行一对一更新,那么您可以更灵活地决定 select 用户如何在 Java/application 端进行更新。

如果selection很简单(a.k.a总是更新这个组的人)然后继续