У меня есть база данных в MongoDB, которая называется goalsdata
. Есть коллекция new_goals
. Документ выглядит так:
{
"_id" : ObjectId("5b2d0f71ee19fb0021e0000f0"),
"method" : "GET",
"action" : "goals",
"request_time" : ISODate("2018-06-21T15:02:09.784Z")
},
{
"_id" : ObjectId("5b2d0f71ee19fb0031e0000f0"),
"method" : "GET",
"action" : "goals",
"request_time" : ISODate("2018-06-22T15:03:09.784Z")
},
{
"_id" : ObjectId("5b2d0f71ee19fb0041e0000f0"),
"method" : "GET",
"action" : "goals",
"request_time" : ISODate("2018-06-23T15:02:08.784Z")
},
{
"_id" : ObjectId("6b2d0f71ee19fb001e0000f0"),
"method" : "GET",
"action" : "goals",
"request_time" : ISODate("2018-06-24T15:02:07.784Z")
},
{
"_id" : ObjectId("8b2d0f71ee19fb001e0000f0"),
"method" : "GET",
"action" : "countries_goals_exams",
"request_time" : ISODate("2018-06-26T15:02:06.784Z")
}
Существует ключ с именем request_time
. Я хочу сделать запрос и получить документ, где диапазон request_time
находится в диапазоне от 2018-06-19
до 2018-06-21
.
Как, 2018-06-19
request_time
там нет. Таким образом, он будет учитывать заданный диапазон и покажет мне вывод,
{
"_id" : ObjectId("5b2d0f71ee19fb0021e0000f0"),
"method" : "GET",
"action" : "goals",
"request_time" : ISODate("2018-06-21T15:02:09.784Z")
}
С помощью этого запроса я могу получить данные за последний час назад в MongoDB,
db.getCollection('new_goals').entity.find({ $and:[
{
"timestamp": {
$gte: new Date(ISODate().getTime() - 1000 * 60 * 60)
}},
{
"timestamp": {
$lte: ISODate()
}}
]})
Но я хочу использовать ключ request_time
и диапазон для извлечения данных. Каков рекомендуемый способ достижения этого?