По вашему вопросу вы хотите получать текущий день документы из коллекции MongoDB. В MongoDB оболочки при вводе new Date()
это дает вам текущую дату со временем, и это значение всегда изменяется при запуске же new Date()
так, вероятно, ваш запрос, как это:
db.collectionName.find({"start_date":new Date()}).pretty()
Но, я думаю, этот запрос возвращает те документы, которые будут представляет в своей коллекции, но тот же ток Date
значение может быть не представляет в документах SO этом случае вы должны использовать следующие
db.collectionName.find({"start_date":{"$lte":new Date()}}).pretty()
Или
db.collectionName.find({"start_date":{"$gte":new Date()}}).pretty()
В некоторых случаях Если вы хотите, чтобы найти точное совпадение с year,month,day
, то вы должны использовать aggregation с $year,$month,$dayOfMonth in $project, как это:
db.collectionName.aggregate({
"$project": {
"year": {
"$year": "$date"
},
"month": {
"$month": "$date"
},
"day": {
"$dayOfMonth": "$date"
}
}
}, {
"$match": {
"year": new Date().getFullYear(),
"month": new Date().getMonth() + 1, //because January starts with 0
"day": new Date().getDate()
}
})
В приведенном выше запросе агрегации будет возвращать те документы, которые соответствуют текущей дате, как year,month,day
текущей даты. Также вы замените $match
в
var currentDate = new Date()
{
"$match": {
"year": currentDate.getFullYear(),
"month": currentDate.getMonth() + 1, //because January starts with 0
"day": currentDate.getDate()
}
}
понятнее с редактированием .... –
http://docs.mongodb.org/manual/reference/operator/update/currentDate/ –
добавить структуру документа для получения дополнительных разъяснений , –