我将数据存储在这样的模式中

enter image description here

我想知道如何在mongoose中创建一个查询,以获得在过go 7天内创建的用户数,我希望我的输出是这样的

{

对不起,我英语不好

推荐答案

您好,我使用mongo aggregate将您每天需要的数据分组如下:

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",
    },
  },
]);

Node.js相关问答推荐

如何从puppeteer的page. evaluate()中获取流数据?(node.js)

如何将Node.js与Nuxt.js一起使用?

如何在Angular jest测试中调用Nodejs的垃圾收集? node v20的测试速度慢且内存泄漏

"sh:/usr/local/bin/node:当它存在于文件目录中时未找到

未显示NPM版本

ForbidenError:使用Express.js的CSRF令牌无效

为什么我的过滤器无法在我在下面编写的 Google Analytics 4 应用程序脚本代码中工作?我该如何修复它?

Nest Js - 在 multer 拦截器中如何设置最大文件上传大小并进行可选文件上传

2023年如何在Node.js中使用Gmail发送邮箱?

bcrypt.compare 每次都返回 false

运行 cypress 测试时如何指定 .env 文件用于我的开发服务器?

为什么后端开发需要单独的服务器?

为什么我的 npm 脚本中的 glob 不起作用?

用户与mongoose 的完美搭配

如何在 TypeScript 中输出 Hackerrank 二叉树问题?

当我使用 uuid 代码意外崩溃,然后工作正常?

node.js 中 pdfkit-tables 中的垂直线

Chrome 浏览器未将 if-modified-since 标头发送到服务器

如何在 node 中找到引用站点 URL?

需要 node-gyp 的 npm install 在 Windows 上失败