mongodb分组查询 php,php – 按字段分组在MongoDB中不起作用

我正在尝试计算我的数据库中所有记录的总和,我需要避免重复.我写了这段代码来对记录进行分组,但它对我不起作用.

$pipeline = [

['$match' =>

$criteria->getCondition()],['$group' =>

['_id' => '$order_id','total' => ['$sum' => '$'.$column]]]

];

$this->getDbConnection()->aggregate('ticket_cache',$pipeline);

测试要求:

db.getCollection('ticket_cache').aggregate(

{

"$match":

{"event_id":64}

},{

"$group" :

{"_id":"$order_id","total": {"$sum":"$payment_amount"}}

})

结果:

/* 1 */

{

"result" : [

{

"_id" : NumberLong(7002),"total" : 9000.0000000000000000

}

],"ok" : 1.0000000000000000

}

db中的数据:

/* 1 */

{

"result" : [

{

"_id" : ObjectId("553f8b4fbfabe2772f8b4f51"),"event_id" : NumberLong(64),"ticket_id" : NumberLong(8563),"ticket_code" : NumberLong(22062299),"ticket_type_id" : NumberLong(391),"ticket_created" : NumberLong(1430227620),"ticket_deleted" : NumberLong(0),"ticket_user_id" : NumberLong(2),"ticket_used" : NumberLong(0),"order_id" : NumberLong(7002),"order_code" : NumberLong(517005),"order_created" : NumberLong(1430227620),"order_deleted" : NumberLong(0),"order_sales_pipeline" : NumberLong(18),"order_invoice_id" : NumberLong(4202),"order_invoice_amount" : 3000.0000000000000000,"order_invoice_created" : NumberLong(1430227641),"order_invoice_deleted" : NumberLong(0),"order_invoice_code" : NumberLong(420155),"payment_id" : NumberLong(4365),"payment_amount" : 3000.0000000000000000,"payment_currency" : NumberLong(4),"payment_author_id" : NumberLong(1),"payment_type_id" : NumberLong(27),"payment_created" : NumberLong(1430227641),"payment_deleted" : NumberLong(0),"create_time" : ISODate("2015-04-28T13:29:51.328Z")

},{

"_id" : ObjectId("553f8b4fbfabe2772f8b4f4f"),"ticket_id" : NumberLong(8561),"ticket_code" : NumberLong(49287433),"create_time" : ISODate("2015-04-28T13:29:51.316Z")

},{

"_id" : ObjectId("553f8b4fbfabe2772f8b4f50"),"ticket_id" : NumberLong(8562),"ticket_code" : NumberLong(24016753),"create_time" : ISODate("2015-04-28T13:29:51.326Z")

}

],"ok" : 1.0000000000000000

}

我哪里做错了?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值