Я использую API (поэтому у меня нет контроля над полями) - одно из полей имеет тип Date
.Как преобразовать формат даты в mongodb
Теперь, я считаю, что дата хранится в записях напоминает следующее значение:
{
...
"foobarDate": "2013-05-26T05:00:00.000Z",
...
}
Теперь я хочу, чтобы получить некоторые записи на основе этой даты - например, мне нужно, чтобы получить все записи, в которых fooBarDate
уже сегодня.
Если я использую Date()
функциональность JavaScript, а затем я получаю дату в следующем формате:
Wed Jun 19 2013 21:13:50 GMT+0530 (IST)
Если я пытаюсь разработать свой запрос следующим образом ...
{
"fooBarDate": {
"$lte": <the date calculated in javascript>
}
}
... Я не получаю записи - я получаю пустой массив - я подозреваю, что это связано с тем, что формат даты, хранящейся в MongoDB, отличается от формата, который я передаю.
Как преобразовать формат даты Javascript в формат mongodb? Или, по крайней мере, как получить текущую дату в формате, хранящемся в MongoDB?
P.S. Я использую nodeJs и хочу запросить DB в этом случае.
Это немного вводит в заблуждение, как 'ISODate' просто преобразует строку в родной' date' типа, но MongoDB хранит даты как 64-разрядное целое число BSON дат. – JohnnyHK
Что делать, если я хочу сравнить fooBarDate с форматом Y-m-d –