【问题标题】:How to sort users by number of followers in mongodb?如何在mongodb中按关注者数量对用户进行排序?
【发布时间】:2012-01-21 11:57:33
【问题描述】:
这是不言自明的,但这里有更多信息:
我正在使用带有节点的猫鼬,并且架构设置如下:
User
name
password
Follow
user
following
是否有任何干净的方法可以做到这一点,而无需在每个用户文档中都有关注者计数字段,并且每次关注都必须修改两个文档?
【问题讨论】:
标签:
javascript
mongodb
mongoose
【解决方案1】:
我将假设以下是指向用户的单值对象 id。我假设您已经在变量 user_id 中拥有 user_id。
在常规 shell javascript 中:
db.follow.find({following:user_id}).count();
在猫鼬中:
Follow.count({following:user_id}, callback);
更新抱歉,我不知何故错过了帖子的标题,并认为您只是想计算一下。您可能最终需要存储计数以进行动态排序。不过,JIRA 中的一些功能可能会在未来变得更容易进行投票。