Możesz spróbować dopasować podaną category
i createdAt
-data przy użyciu $match
, następnie pogrupuj i na koniec użyj $addToSet
aby uzyskać wszystkie unikalne staffId
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"
}
}
}
]);
Oto przykład na mongoplayground (musiałem użyć ciągów i wyrażenia regularnego dla daty, ponieważ ISODate nie jest tam obsługiwany):https://mongoplayground.net/p/oGM7cfvCRQx