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

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相关问答推荐

GitLab SAST中的Nodejcan未找到匹配项

是否可以在MongoDB中比较和匹配引用文档中的字段

JsonwebToken过期后如何注销和清除cookie?

如何从 Mongo Atlas 触发器向 GCP PubSub 发出经过身份验证的请求

有没有办法判断 UUID 是否是使用 node.js 中的特定命名空间生成的?

npm 在 Windows 终端中不工作

在 Header 中使用 Authorization 方法和新的附加参数:accessToken 有什么区别?

kubernetes 上的 nextjs 无法启动

获取用户 ID 后,Firebase 函数 onCreate 方法在 Firestore 上不起作用

在 node:readline 中按 CTRL+D 时会发出什么信号?

当我们有esnext时,为什么我们需要nodenext typescript 编译器选项?

带有 node.js 和 express 的基本网络服务器,用于提供 html 文件和assets资源

ISODate 未定义

Base64 编码一个 javascript 对象

如何将`yarn.lock`与`package.json`同步?

我可以在 Heroku 中运行咖啡脚本吗?

如何brew安装特定版本的Node?

Passport 的 req.isAuthenticated 总是返回 false,即使我硬编码 done(null, true)

从 React(同构应用程序)进行 API 调用时出现Access-Control-Allow-Origin问题

使用 Monit 而不是基本的 Upstart 设置有什么好处?