我将我的数据存储在这样的模式中
我想知道如何在猫鼬中创建一个查询,以获得在过去7天中所创建的用户的数量,其中我希望我的输出是这样的。
{ day1: 4,day2: 4,day3: 9,day4: 12,day5: 7,day6: 0,day7: 10 }
抱歉,我的英语不好
发布于 2022-04-08 22:43:56
你好,我使用mongo聚合来分组您每天需要的数据,如下所示:
const toDate = new Date("2022-04-08");
const fromDate = new Date("2022-04-01");
const data = await User.aggregate([{
$match: {
createdAt: {
$gte: new Date(fromDate),
$lte: new Date(toDate),
},
},
},
{
$sort: {
createdAt: -1
}
},
{
$project: {
day: {
$dayOfMonth: "$createdAt"
},
month: {
$month: "$createdAt"
},
year: {
$year: "$createdAt"
},
},
},
{
$group: {
_id: {
day: "$day",
year: "$year",
month: "$month",
},
count: {
$sum: 1
},
},
},
{
$project: {
_id: 0,
day: "$_id.day",
month: "$_id.month",
year: "$_id.year",
count: "$count",
},
},
]);
发布于 2022-04-08 15:09:46
const usersCount = await User.countDocuments({
created_at: { $lt: new Date('2022-04-08'), $gt: new Date('2022-04-01') }
});
这将使您对在过去七天内创建的用户进行统计。动态日期,您可以在您的快速后端生成。
https://stackoverflow.com/questions/71799002
复制相似问题