Bạn có thể thử khớp với category
đã cho và createdAt
-date bằng $match
, sau đó nhóm và cuối cùng sử dụng $addToSet
để nhận tất cả staffId
duy nhất s:
db.collection.aggregate([
{
$match: {
"category": "trend",
"createdAt": {$gte: new Date("2020-08-13T00:00:00Z"), $lt: ISODate("2020-08-14T00:00:00Z")}
}
},
{
"$group": {
"_id": null,
"staffIds": {
"$addToSet": "$staffId"
}
}
}
]);
Đây là một ví dụ về mongoplayground (phải sử dụng chuỗi và regex cho ngày vì ISODate không được hỗ trợ ở đó): https://mongoplayground.net/p/oGM7cfvCRQx