所以我有一个 MongoDB 文档来跟踪登录到我们的应用程序。基本结构是这样出现的:
[_id] => MongoId Object
(
[$id] => 50f6da28686ba94b49000003
)
[userId] => 50ef542a686ba95971000004
[action] => login
[time] => 1358354984
现在 - 挑战是这样的:这些条目大约有 20,000 个。我一直面临着查看每个用户登录的次数(由 userId 定义)的挑战......所以我正在寻找一种好方法来做到这一点。我见过几种可能的方法(例如,在 SQL 中,我可能会通过按 UserID 分组并对其进行计数来降低登录次数 - 例如 SELECT userID, count(*) from... .group by UserId ...然后对其进行子选择(CASE WHEN或顶部选择中的某些内容)。无论如何 - 想知道是否有人对最好的方法有任何建议。最坏的情况我可以限制结果集并在内存中进行分组 - 但理想情况下希望直接从 Mongo 获得完整答案。另一个限制(即使在我通过第一组之后)是我希望按日期进行唯一计数......