求和查询mongodb php
我有这个收藏求和查询mongodb php,php,mongodb,sum,Php,Mongodb,Sum,我有这个收藏 > db.test.find() { "_id" : ObjectId("5398ddf40371cdb3aebca3a2"), "name" : "ahmed", "qte" : 30 } { "_id" : ObjectId("5398de040371cdb3aebca3a3"), "name" : "demha", "qte" : 35 } { "_id" : ObjectId("5398de140371cdb3aebca3a4"), "name" : "ahmed",
> db.test.find()
{ "_id" : ObjectId("5398ddf40371cdb3aebca3a2"), "name" : "ahmed", "qte" : 30 }
{ "_id" : ObjectId("5398de040371cdb3aebca3a3"), "name" : "demha", "qte" : 35 }
{ "_id" : ObjectId("5398de140371cdb3aebca3a4"), "name" : "ahmed", "qte" : 50 }
{ "_id" : ObjectId("5398de210371cdb3aebca3a5"), "name" : "ahmed", "qte" : 60 }
我想对“qte”求和,其中“name”=“ahmed”,并用php打印求和
我知道如何使用SQL,但我不知道它在mongodb中是如何使用的
谢谢:)使用该框架
假设您对当前集合有一个名称为$collection
result = $collection->aggregate(array(
array(
'$match' => array(
'name' => 'ahmed'
)
),
array(
'$group' => array(
'_id' => NULL,
'total' => array(
'$sum' => '$qte'
)
)
)
));
这两个部分是满足标准的步骤,以及使用
有关更多示例,请参见其他和。这是通过聚合语句完成的:
db.test.aggregate([
{
$match: {
name: "ahmed"
}
},
{
$group: {
_id:"$name",
total: {
$sum: "$qte"
}
}
}
])
参见本S.O问题:两年前的答案的副本,该答案不被接受,且给出的答案要么效率低下,要么不正确。有什么好处?答案上的时间戳也被修改了,真的很有趣。@NeilLunn时间戳?他们看起来很好me@NeilLunn这里的第一个答案似乎也通过例子回答了这个问题。从这个用户之前的问题来看,这个问题似乎也不被接受,他的问题似乎是个人的低质量问题,也就是说:在这种情况下,通常最好直接去某个地方给他提供参考,而不是按需进行代码转换,并鼓励他进一步提出类似的问题。@Sammaye不能对你不满。当我发布时,这里没有其他答案。我的观点是,当重复的问题没有足够高质量的答案时,我看不到重复的问题。我以前跟别人提过的东西。因此,这些问题/答案应该关闭。OP对问题接受的处理不是最好的,但也与在可以给出更好的答案时关闭问题无关。对聊天不感兴趣。这里的评论是为了重新开放投票。