2017-01-31 60 views
1

這是我第一次來這裏,所以我希望我的問題不會太壞。 我試圖選擇存儲在mongo集合中的最後一天,上週和上個月的數據。
所以我其實:如何從上個月使用時間戳獲取值?

if(period.includes("daily")){ 
    //search for 24h before now 
    DockerStatsToKeep.find({ 
     read: { "$gte": moment(new Date()).subtract(86400, 'second').unix()} 
    }); 
    }else if (period.includes("weekly")) { 
    //search for 168h before now (7days) 
    DockerStatsToKeep.find({ 
     read: { "$gte": moment(new Date()).subtract(604800, 'second').unix()} 
    }); 
    }else if (period.includes("monthly")) { 
    //search for last month 
    DockerStatsToKeep.find({ 
     read: { "$gte": moment(new Date()).subtract(xx, 'second').unix()} 
    }); 
    }else{ 
    console.error("this is not a valid period format, please use 'daily, weekly or monthly'"); 
    } 

但我被困在上個月,我無法找到一個方法來做到這一點。由於本月有時30天或31天或29天

回答

1

在momentjs可以subtract個月還有:

moment(new Date()).subtract(1, 'month').unix() 

還將處理年之間的過渡。例如。減去日起1個月2017年一月將在十二月返回日期2016

見有關subtract

+1

謝謝你的幫助,是我沒有,雖然有關檢查的。減去的醫生,我只是拼命地跑什麼我知道它^^謝謝!我想我可以做'減法(1,'day'),減(1,'week')'所以我的代碼會更好 – Daniel

+1

是的,但我需要等8分鐘才能檢查它 – Daniel