猫鼬 findAndCount 与 where 运算符

时间:2020-12-19 18:15:55

标签: mongodb mongoose

我不得不重写一些使用 mongodb 和 mongoose 的功能。我有一个从 mongodb 中找不到 findAndCount() 的函数,但是我无法找到 mongoose 的 id。现在我正在使用这段代码:

const [totalItems, items] = await Promise.all([
        model.estimatedDocumentCount(),
        model
            .find({
                ...where,
                ...(dateQuery && { createdAt: { ...dateQuery } }),
            })
            .skip(_limit * (_page - 1))
            .limit(_limit)
            .sort(sort)
            .populate(populate)
            .select(select),
    ]);

但我发现estimatedDocumentCount()是针对整个集合的,例如集合有4个保存的文档,但是随后出现了某种类型的where过滤器并从.find( ) 是一个单个元素,estimatedDocumentCount 仍然返回 4,我无法计算正确的分页。要使用 .length 这不是一个选项,因为有 skiplimit

我的问题是我能以某种方式获得与过滤器匹配的所有文档的计数吗?提前致谢!

0 个答案:

没有答案