Монго / Мангуст: почему этот запрос завершается ошибкой?

#javascript #node.js #mongodb #mongoose

#javascript #node.js #mongodb #мангуст

Вопрос:

Я пытаюсь найти документы в MongoDB, которые старше определенного периода времени. Вот пример документа в моей базе данных, который должен быть возвращен,

 {
    "_id" : ObjectId("5cc07ea943eeba155840b62f"),
    "name" : "test3",
    "value" : 3,
    "created_at" : {
        "$date" : 1556119209477
    },
    "updatedAt" : {
        "$date" : 1556119209477
    },
    "__v" : 0
}
  

Вот запрос, который у меня есть на данный момент….

 Item.find({"created_at":{$lt:new Date(Date.now() - keys.anAmountOfMilliseconds)}}, (err, foundItems) => {
  

При выполнении подобным образом возвращается следующая ошибка: { CastError: ошибка приведения к дате для значения «Недопустимая дата» в пути «created_at» для «элементов» модели

При поиске документов с использованием createdAt или «createdAt» запрос возвращается ни с чем….

Комментарии:

1. Что он содержит keys.anAmountOfMilliseconds ?

2. Он содержит число. Например, 1. Или 86400000 (сколько миллисекунд в сутках.)

3. Я думаю, что он содержит либо undefined, либо что-то еще, кроме даты