3

在我的应用程序中,我有一个用于跟踪网站活动的模型:

class FeedItem(Document):
    user = ReferenceField('User')
    link = ReferenceField('Link')
    issue = ReferenceField('Threat')
    action = StringField(required=True, max_length=1000)
    datetime = DateTimeField(required=True)

...我在其中跟踪用户对内容所做的事情。

我正在尝试创建一个“顶级用户”列表,在该列表中,我按贡献最多的用户汇总用户列表(至少最初由他们在日志中出现的次数确定)。

我试过这个:

user_freqs = FeedItem.objects.item_frequencies('user', normalize=True)
top_users = sorted(user_freqs.items(), key=itemgetter(1), reverse=True)[:10]

(基于这个例子

但我意识到这不起作用,因为 item_frequencies() 在 ReferenceFields 上不起作用。

我是新手,有点茫然。任何帮助将不胜感激。谢谢!

4

1 回答 1

3

我建议使用原始 pymongo 和聚合框架,它是一个简单的分组 on FeedItem.userand $sum

于 2013-06-26T13:32:20.190 回答