为什么$limit猫鼬与聚合不返回所有结果



我遵循aggregation查询,它$limit我已经设置了如果我在正整数之间传递一个数字1 to any它就可以正常工作。现在,我需要所有的结果,而不是我传递limit: 0所以,这是通过我错误。

断言:命令失败:{ "确定" : 0, "errmsg" : "极限必须是正数", "代码" : 15958, "代号" : "位置15958" } : 聚合失败

查询

var limit = 0; // working with 1 to infinite ( any positive integrer ) 
db.getCollection('abc').aggregate([
    {
        $match : {}
    },
    {
        $limit: limit
    }
])

让我从这个出来,如果有人知道我应该如何使用$limit从数据库中返回所有文档.

构建管道,使其仅在需要时包含 $limit 元素:

var pipeline = [{$match: {}}];
if (limit) {
    pipeline.push({$limit: limit});
}
db.getCollection('abc').aggregate(pipeline);

最新更新