我正在为yii2使用mongodb扩展。我想从mongodb集合中得到字段total
的和。
$query = new Query;
$rows = $query->select(['total'])->from('invoices')->where(['status' => 'Unpaid'])->sum('total');
但是,我每次都得到零,即使它大于零。我的查询有什么问题吗?
发布于 2014-10-24 01:28:39
您应该始终能够访问集合对象并在此基础上执行聚集操作。所有这些基本上都遵循标准的聚合框架语法:
$collection = Yii::$app->mongodb->getCollection('invoices');
$result = $collection->aggregate(
array( '$match' => array( 'status' => 'Unpaid' ) ),
array( '$group' => array(
'_id' => NULL,
'total' => array( '$sum' => '$total' )
))
);
大多数较高级别的框架都有一种访问本机驱动程序对象的方法,在这些对象中,操作基本上是相同的,并且比提供的抽象更有效,特别是通过任何试图连接SQL和NoSQL世界的方法。
总的来说,桥接是一件好事,但它从来都不是最优的,因为这两种技术的工作方式非常不同。
https://stackoverflow.com/questions/26544793
复制相似问题