加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – mongodb聚合中的$limit作为可选参数?

发布时间:2020-12-13 17:00:45 所属栏目:PHP教程 来源:网络整理
导读:我有一个带有一个名为limit的可选参数的api,它接受一个整数并限制在get请求中从api返回的文档数. 当我的PHP应用程序是必需参数时,在我的PHP应用程序中实现此限制很好,但是当它未被指定为我的get请求的一部分时,处理它的最佳方法是什么? 例如,有一种方法来定
我有一个带有一个名为limit的可选参数的api,它接受一个整数并限制在get请求中从api返回的文档数.

当我的PHP应用程序是必需参数时,在我的PHP应用程序中实现此限制很好,但是当它未被指定为我的get请求的一部分时,处理它的最佳方法是什么?

例如,有一种方法来定义$limit并将其设置为所有文档? (伪代码,$limit = none)

$list = $collection->aggregate( array( array('$match' => array( ... )),'$project' => array ( ... )),'$limit' => intval($this->limit) ));

$this->limit //this is the optional input parameter

如上所示,当需要limit参数时,它可以根据需要运行.现在当它被省略时,我如何保留上面的代码但是没有指定限制?

解决方法

您可以手动生成where子句.

// Declare a where clause with your fixed conditions
$whereClause = array(array('$match' => array(...)),array('$project' => array(...)));

// Check if there's a limit
if($this->limit != 0)
    array_push($whereClause,array('$limit' => $this->limit));

// Finally,call with the where clause we've generated above
$list = $collection->aggregate($whereClause);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读