按日期分割数据的最佳方法是什么

问题描述 投票:0回答:1

正如标题所述

考虑这样的虚拟数据(我的猫鼬数据库中的某些用户)

[{ 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次吗?

还有其他更好的解决方案吗?

node.js mongodb express mongoose
1个回答
0
投票

尝试使用momentJS

npm install moment --save   # npm
yarn add moment             # Yarn

然后,当您创建新用户时,在猫鼬模式中添加一个新道具以创建日期

var UserSchema = new mongoose.Schema({
   // your fields
   creation_date:{type:String}
})
UserSchema.methods.preSaveMethod = function(){
 this.creation_date = moment().format('MMMM Do YYYY, h:mm:ss a');
}
UserSchema.pre("save", preSaveMethod);

尽管您可以在此处丢弃时刻库,但是比起正则表达式,它要容易得多。如果您想提早一个月,请尝试

moment().subtract(1, 'months').format('MMM YYYY');

希望我对您说得足够清楚

© www.soinside.com 2019 - 2024. All rights reserved.