0

我刚刚意识到 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')}并忽略了 operator $gte。在上面的示例中,它尝试将日期与最终引发转换错误的对象进行比较!

更新

实际上是我的错误,忘记在前面加上 $ 符号gte

4

1 回答 1

0

我的错,我之前忘记了$是我的错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
});
于 2019-01-24T21:57:22.850 回答