Запрос диапазона дат для поля документа Mongo, которое является строкой ISOS, но не введено в поле Дата?
Скажем, у меня есть коллекция с документами (из JSON), которые содержат поле с информацией о дате - как ISOString (но не с типом Date). Например:
{
foo: {
completed: "2015-02-25T12:44:47.335Z"
}
}
Как я могу выполнить запрос диапазона дат для этих данных? Насколько я могу судить, поле рассматривается как строка. Я также использую Mongoose. Могу ли я сделать что-то в схеме, чтобы правильно ввести это подполе?
1 ответ
Решение
Преобразование в Date
Тип лучше, но вы все равно можете выполнять сортировку и фильтрацию диапазона по строкам даты ISO.
db.test.find({'foo.completed': {
$gt: '2015-01-25T12:44:47.335Z',
$lt: '2015-03-25T12:44:47.335Z'
}})