Запрос диапазона дат для поля документа 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'
}})
Другие вопросы по тегам