如何从mongoDb过滤最近10天的logging?

var require = require('moment'); var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); if(dd<10) { dd='0'+dd } if(mm<10) { mm='0'+mm } today = yyyy+'/'+mm+'/'+dd; console.log(today); videofiles.find({date:{$lte:'today'}} 

上面提到的是我的代码..下面是我的Db值..我没有如何过滤从MongoDB的最近10天的logging。 我已经提到过滤date的值小于或等于今天,但我真的需要过滤最后10天的logging,我是新来的mongo分贝和node.js videofiles指的是我的collections在videofiles的名称。

 "date": "2017/03/10", "is_deleted": 0, "filemimeType": "audio/mp3", "emotionCount": 0, "originalname": "1489042167918-1489040146195-SampleAudio_0.5mb (1).mp3", "updatedAt": "2017-03-10T05:54:34.032Z", "isUserLiked": 0, "country": "India", "fileuploadFilename": "1489125273974-1489042167918-1489040146195-SampleAudio_0.5mb (1).mp3", "_id": "58c23f9a180ac54d758b5fc0", "likeCount": 0, "viewed": 0 

添加以下代码:

today.setDate(today.getDate() - 10);

在这一行之后:

var today = new Date();

然后replace你的代码行:

videofiles.find({date:{$lte:'today'}}

用这一行:

db.videofiles.find({"date":{"$gte":'today'}})

你可以做最后10天的logging,

 videofiles.find( { "date": { $gte: (new Date((new Date()).getTime() - (10 * 24 * 60 * 60 * 1000))) } } ).sort({ "date": -1 })