【发布时间】:2020-09-16 18:15:24
【问题描述】:
正如标题所说
考虑这样的虚拟数据(我的猫鼬数据库中的一些用户)
[{ name : "ahmed" , registeredIn : 1590739626724 },
{ name : "ahmed" , registeredIn : 1590739626724 }
{ name : "ahmed" , registeredIn : 1590739626724 }
{ name : "ahmed" , registeredIn : 1590739626724 }
{ name : "ahmed" , registeredIn : 1590739626724 }]
在我的管理面板中,我想返回一个图表,显示每个月的注册用户数
只需要数字,5 月 2 ,6 月 3 等等..
什么是最快的解决方案?
我现在想到的唯一解决方案有点糟糕
每月分别获取
在时间戳 X 和 Y 之间获取用户
在时间戳 X 和 Y 之间获取用户
在时间戳 X 和 Y 之间获取用户
在时间戳 X 和 Y 之间获取用户
如果我想获取大约 20 个月的数据,我会调用 MongoDB 20 次吗?
还有更好的解决方案吗?
【问题讨论】:
-
您是否尝试过在查询中按月份分组?...stackoverflow.com/questions/27366209/…
-
您可以使用 mongoose.aggregate 来查找您可以使用 $match 并传递您的过滤器对象的数据,同时您可以使用 gt 和 lt 运算符传递时间戳。然后您可以根据月份对它们进行分组。 MongoDB 以其聚合而闻名,这是实现您所寻找的最佳和最快的方式。
-
我搜索了你的答案,但仍然感到困惑,也许直接回答会更好
标签: node.js mongodb express mongoose