2 回答

TA貢獻1802條經(jīng)驗 獲得超5個贊
db.Session.aggregate([
{
$project: {
date: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } }
}
},
{
$group: {
_id: "$date" ,
count: { $sum: 1 }
}
}
]);

TA貢獻1951條經(jīng)驗 獲得超3個贊
首先根據(jù)createdAt分組,因為我們想要根據(jù) createdAt 的最終結果。
在這個$group階段只需將userIds推入數(shù)組,使用$addToSet以保持它的唯一性。
然后$size在$projectstage 中使用operator 獲取 userIds 的計數(shù)。
你得到結果。
這是查詢。
(根據(jù)需要轉換日期,它只是一種格式,您已經(jīng)完成了此操作,因此我將跳過此任務)。
db.sessions.aggregate({$match:{}},
{$group:{_id: "$createdAt", userId : {$addToSet: "$user.id"}}},
{$project:{_id: 1, noOfUsers:{$size:"$userId"}}}).pretty()
希望這可以幫助!
添加回答
舉報