gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:13:31 24 4
gpt4 key购买 nike

我有一个带有一个名为 limit 的可选参数的 api,它接受一个整数并限制在 get 请求中从 api 返回的文档数量。

当它是必需参数时,在我的 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);

关于php - mongodb 聚合中的 $limit 作为可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37730008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com