【问题标题】:Filter and re-arrange results using node.js and mongodb according to date(month)根据日期(月)使用 node.js 和 mongodb 过滤和重新排列结果
【发布时间】:2018-04-24 15:58:26
【问题描述】:

我使用 Node.JS 和 Express 创建了一个服务器。数据库是 MongoDB,ORM 是 Mongoose。这是我必须做的。

    {
        "_id": "5788fcf7bfecf0c135178418",
        "incomeDate": "2012-01-01T00:00:00.000Z",
        "name": "Sales",
        "type": "Sales one",
        "amount": 5500,
        "__v": 0
    }

这是我从数据库中获取的对象。我想按日期(实际上按月)过滤这些对象。我将使用 Angular Charts 在图表中显示月收入。 (https://jtblin.github.io/angular-chart.js/) -> 角度条形图。

因此,如果特定月份没有金额,则列表中应为零 (0)。列表必须是这样的。列表中有 12 个元素。这只是一个例子。

[200,1200,10,0,124,542,1254,500,0,1254,36,87]

如何在 node.js 和 mongoose 中做到这一点?必须使用 incomedate 进行过滤并在 node.js 中执行一些代码.....

【问题讨论】:

  • 您可以使用moment.js 仅使用月份进行过滤,并检查您获取的数据是否为空,在数组中的位置放置一个
  • @AjitejKaushik 嘿伙计,你有一个例子吗?以及我们如何将momentjs与mongoose集成来查询数据库?
  • 只需执行npm install moment 即可使用。我现在没有例子,但如果你通过我分享的链接,你会明白如何使用这个库。它非常简单,对于您在节点应用程序中可能遇到的所有时间相关问题都很有用。
  • @AjitejKaushik 你能告诉我吗:)

标签: javascript node.js mongodb mongoose


【解决方案1】:

这样称呼它:

var date = new incomeDate();

{$group: {date: date.getMonth()}

您好,运行您的代码,看看您遇到了什么错误,我们会努力修复它们。

【讨论】:

  • 如果某个月份没有值,我们如何添加零?这段代码中没有发生。是吗?
猜你喜欢
  • 2014-11-05
  • 1970-01-01
  • 2014-03-15
  • 2018-09-27
  • 1970-01-01
  • 2019-04-29
  • 1970-01-01
  • 2017-01-15
  • 2020-03-04
相关资源
最近更新 更多