我的查询如下:
$pipeline = array(
array(
'$match' => $query,
),
array(
'$group' => array(
'_id' => '$_id',
's_count' => array('$sum' => array('$add' => array('value1' , 'value2' ))),
)
),
array(
'$sort' => array(
'id' => -1
)
)
);
$result = $this->db->aggregate( 'table',$pipeline );
在上面的查询中,值1和值2在我的表中声明为字符串,但其值是数字。
有没有办法在group sum阶段将我的字段解析为整数,因为它抛出错误“只允许$ sum聚合的数值”
EDITED
我的要求是:我的表格中有两个字段value1
和value2
。
我需要获得所有记录,其中包含这两个字段的总和,即最大到最小。
因为在我的视图页面中,我必须进行分页和显示。所以在分页时它会在10条记录中以最大到最小的顺序返回结果(我在查询处理后给出了排序条件)。
我需要首先显示10条记录,其中应该按照这样的方式排序,即第一条记录的这两个字段的总和应该在我的表格中最大...以这种方式我必须显示。