Модуль mongoose-paginate не поддерживает операторы запросов - PullRequest
0 голосов
/ 25 января 2019

Я только что понял, что 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

1 Ответ

0 голосов
/ 25 января 2019

Плохо, это была моя ошибка, что я забыл $ раньше gte

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
});
...