mongoose-paginate模块不支持查询运算符

时间:2019-01-24 21:30:21

标签: mongoose mongoose-plugins

我刚刚意识到猫鼬分页不支持比较查询运算符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。 在上面的示例中,它尝试将日期与一个对象进行比较,该对象最终抛出强制转换错误!

更新

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

1 个答案:

答案 0 :(得分:0)

我不好,是我的错误,我在substr之前忘记了$

mutate