问题描述
_id:...
word: Casper
something: Object
som1: 1
som2: 2
_id:...
word: Casper
something: Object
som1: 4
som2: 5
我想分组并得到这样的东西:
_id: Object
word: Casper
something: Object
som1: 5
som2: 7
求和字段的结构不应更改,而应保留为对象。 但是我是mongo的新手,也不知道该怎么做。 我该怎么办?
解决方法
要在Mongodb中进行分组,应使用aggregate():
db.collectionName.aggregate([
{$match:{
"word": "Casper"
}},{
$group:
{
_id:{
"word" : "$word"
},"som1" : {$sum:"$something.som1"},"som2" : {$sum:"$something.som2"}
}
},{
$addFields:{
"something":{
"som1": "$som1","som2": "$som2"
}
}
},{
$project:{
"som1":0,"som2":0
}
}
])