我有一个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
. 我是否应请求计算该网站的文章,还是存储计数属性并在每次创建与该网站关联的新文章时更新它?