【发布时间】:2021-05-10 13:48:37
【问题描述】:
如果组事件的数量超过 3 个,我想通过它们的pid(仅组)对一些特定记录进行分组。
示例:
这里group (pid: 200) 的事件数为 4,必须分组。
- Events -
----------
{_id: ObjectId, type: 'private', pid: 140, data: {...}},
{_id: ObjectId, type: 'group', pid: 800, data: {...}}, // << group 800
{_id: ObjectId, type: 'group', pid: 200, data: {...}}, // << group 200
{_id: ObjectId, type: 'group', pid: 200, data: {...}}, // << group 200
{_id: ObjectId, type: 'private', pid: 140, data: {...}},
{_id: ObjectId, type: 'group', pid: 200, data: {...}}, // << group 200
{_id: ObjectId, type: 'group', pid: 200, data: {...}}, // << group 200
{_id: ObjectId, type: 'private', pid: 130, data: {...}},
这里group (pid: 200) 被分组,is_too_long: true 被添加到记录中。并且group (pid: 800) 没有按预期分组。
- Results -
-----------
{_id: ObjectId, type: 'private', pid: 140, data: {...}},
{_id: ObjectId, type: 'group', pid: 800, data: {...}, is_too_long: false}, // << group 800
{_id: ObjectId, type: 'private', pid: 140, data: {...}},
{_id: ObjectId, type: 'group', pid: 200, is_too_long: true}}, // << group 200 (with [is_too_long: true])
{_id: ObjectId, type: 'private', pid: 130, data: {...}, is_too_long: false},
我尝试了其他一些查询,但都没有成功!请帮帮我!
【问题讨论】:
标签: mongodb mongoose group-by aggregation-framework