gpt4 book ai didi

php - mongodb 聚合中空字段的投影

转载 作者:可可西里 更新时间:2023-11-01 09:51:35 26 4
gpt4 key购买 nike

我正在使用聚合通过以下查询从 MongoDB 中查找结果。

$y=2000;
$project['pud_year']=array('$year'=>'$pud');
$conditions=array('aggregate'=>array(
array('$match'=>array('pid'=>$project_id)),
array('$project'=>$project),
array('$match'=>array('pud'=>$y)),
));
$this->paginate=array('limit' => 50,'conditions'=>$conditions);
$test=$this->paginate();

但我收到错误 can't convert from BSON type EOO to Date

经过搜索我发现在聚合中,预计日期字段在完整集合中的任何地方都不能为空。但在我的例子中,pud 不是强制性的。当我从查询中删除 pud 的投影时,它工作正常。

如果我没有将 MongoDate 投影到 $year 中,那么我将无法仅获取 2000 年的结果。

请帮我想出解决办法。

最佳答案

我相信你可以使用 $ifNull。当 $pud 为空时,这将为您提供返回默认日期的选项。它适用于聚合。请检查此 - http://docs.mongodb.org/manual/reference/operator/aggregation/ifNull/

关于php - mongodb 聚合中空字段的投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27540190/

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