我的数据库中有以下结构,为此我需要计算Tripduration
并在每个"EndStation"
下面引入一个新字段,这将给出"Tripcount"
}基于Tripdurations
。
"_id": 1,
"Tripcount": 4,
"Trips_out": [
{
"EndStation": 3119,
"Tripcount": // This should be 3
"Tripduration": [
544,
364,
34
]
},
{
"EndStation": 3081,
"Tripcount": // This should be 1
"Tripduration": [
835
]
}
我从以下查询开始,但是这个计算了所有tripdurations,它在顶部传递Tripcount : 4
:
db.mycollection.aggregate(
[
{
"$addFields":{
"Tripcount":{
"$reduce":{
"input":{
"$map":{
"input":"$Trips_out",
"in":{
"$size":"$$this.Tripduration"
}
}
},
"initialValue":0,
"in":{
"$add":[
"$$value",
"$$this"
]
}
}
}
}
}
]
)
如何对其进行修改,以便计算每个EndStation的Tripdurations,并将其作为新字段插入?