这是我的问题:
模型:
{应用程序:“abc”,日期:Time.now,状态:“1” user_id:[id1,id2,id4]}
{应用程序:“abc”,日期:Time.yesterday,状态:“1”,user_id:[id1,id3,id5]}
{应用程序:“abc”,日期:Time.yesterday-1,状态:“1”,user_id:[id1,id3,id5]}
我需要计算一段时间内的唯一用户ID数。
预期结果:
{ 应用程序:“abc”,状态:“1”,unique_id_count:5 }
我目前正在使用聚合框架并计算 mongodb 之外的 id。
{ $match: { application: "abc" } }, { $unwind: "$users" }, { $group: { _id: { status: "$status"}, users: { $addToSet: "$users" } } }
我的用户 ID 数组非常大,所以我必须迭代日期,否则我将获得最大文档限制 (16mb)。
我也可以 $group by
{ 年: { $year: "$date" }, 月: { $month: "$date" }, 日: { $dayOfMonth: "$date" }
但我也得到了文档大小限制。
是否可以计算 mongodb 中的设置大小?
谢谢