我正在try 使用Mongoose进行聚合,但我遇到了一个问题,我得到了以下结果:
[
{
_id: new ObjectId("630bb658370cc689973c5bb4"),
isRead: true,
user: new ObjectId("630273bbe0f3f82d85b149bd"),
globalRef: new ObjectId("630bb649370cc689973c5b62"),
},
{
_id: new ObjectId("630bb649370cc689973c5b62"),
isRead: false,
},
{
_id: new ObjectId("6306bcf16fa60080148fefb6"),
isRead: false,
},
{
_id: new ObjectId("630273bbe0f3f82d85b149bd"),
isRead: false,
user: new ObjectId("630273bbe0f3f82d85b149bd")
},
{
_id: new ObjectId("6306bcf16fa60080148fefb7"),
isRead: true,
user: new ObjectId("630273bbe0f3f82d85b149bd")
}
]
我们可以看到第一个元素具有对第二个元素的引用(globalRef
),
如果存在另一个元素并引用后者作为引用,我想删除这些元素,这可以通过$Match?$group?$project?$Filter实现吗?
预期结果:
[
{
_id: new ObjectId("630bb658370cc689973c5bb4"),
isRead: true,
user: new ObjectId("630273bbe0f3f82d85b149bd"),
globalRef: new ObjectId("630bb649370cc689973c5b62"),
},
{
_id: new ObjectId("6306bcf16fa60080148fefb6"),
isRead: false,
},
{
_id: new ObjectId("630273bbe0f3f82d85b149bd"),
isRead: false,
user: new ObjectId("630273bbe0f3f82d85b149bd")
},
{
_id: new ObjectId("6306bcf16fa60080148fefb7"),
isRead: true,
user: new ObjectId("630273bbe0f3f82d85b149bd")
}
]
谢谢你的帮忙