我有一个User实体,其中包含他/她正在关注的其他用户 ID 数组。
var userSchema = {
following: { type: Array }
};
我有一个 RESTful API,当我请求一个 时User,我的应用程序需要知道有多少关注者User。
我看到的两个选项是:
- 当
User请求 a 时,进行计数查询,例如:{ following: { $in: [userId] } } - 当 a
User被POST编辑时,检查是否有任何用户 ID 被添加或删除到following数组中,如果是,使用 MongoDB$inc来增加或减少文档上已被关注/取消关注的followersCount属性。User
他们还有其他选择吗?如果没有,最好的选择是什么?我觉得followersCount在文档本身中放置一个属性有点奇怪,因为这表明它可以由应用程序更新,而实际上它只是一个动态计数。
我有类似的情况,我需要我的 RESTful API 返回article与website. 我是否应请求计算该网站的文章,还是存储计数属性并在每次创建与该网站关联的新文章时更新它?