Я только что понял, что mongoose-paginate НЕ поддерживает операторы запросов сравнения https://docs.mongodb.com/manual/reference/operator/query-comparison/
Пример:
(created_on: Date
)
Post.paginate({
created_on: {
gte: new Date('2019-01-01T00:00:00.000Z')
}
}, {
page: 2,
limit: 10,
sort: {
created_on: 'desc'
}
}).then((data) => {
// do something with docs
});
Это выдаст ошибку:
CastError: Cast to date failed for value "{ gte: 2019-01-01T00:00:00.000Z }" at path "created_on" for model "Post"
Похоже, он сравнивает свойство created_on
со всем объектом {$gte: new Date('2019-01-01T00:00:00.000Z')}
и игнорирует этот оператор $gte
.
В приведенном выше примере он пытается сравнить дату с объектом, который в результате выдает ошибку приведения!
UPDATE
На самом деле это была моя ошибка, забыл поставить знак $ перед gte