RethinkDB 中嵌套数组中的两个字段求和
Sum two fields in a nested array in RethinkDB
以下文档存在于 RethinkDB 的 table 中:
{
u'destination_addresses':[
u'1 Rockefeller Plaza,
New York,
NY 10020,
USA',
u'Meadowlands,
PA 15301,
USA'
],
u'origin_addresses':[
u'1600 Pennsylvania Ave SE,
Washington,
DC 20003,
USA'
],
u'rows':[
{
u'elements':[
{
u'distance':{
u'text':u'288 mi',
u'value':464087
},
u'duration':{
u'text':u'5 hours 2 mins',
u'value':18142
},
u'status':u'OK'
},
{
u'distance':{
u'text':u'266 mi',
u'value':428756
},
u'duration':{
u'text':u'4 hours 6 mins',
u'value':14753
},
u'status':u'OK'
}
]
}
],
u'status':u'OK'
}
我正在尝试对持续时间和距离的 'value' 字段求和(因此,获取给定行程的总距离和持续时间,这些文档之一来自 Google 地图距离 API)。我尝试了很多 pluck 组合(来自嵌套字段文档),但似乎无法正常工作。我在 Python 工作,在此先感谢您的帮助。
这是你想要的吗?
document['rows'].concat_map(lambda row: row['elements'])['distance']['value'].sum()
以下文档存在于 RethinkDB 的 table 中:
{
u'destination_addresses':[
u'1 Rockefeller Plaza,
New York,
NY 10020,
USA',
u'Meadowlands,
PA 15301,
USA'
],
u'origin_addresses':[
u'1600 Pennsylvania Ave SE,
Washington,
DC 20003,
USA'
],
u'rows':[
{
u'elements':[
{
u'distance':{
u'text':u'288 mi',
u'value':464087
},
u'duration':{
u'text':u'5 hours 2 mins',
u'value':18142
},
u'status':u'OK'
},
{
u'distance':{
u'text':u'266 mi',
u'value':428756
},
u'duration':{
u'text':u'4 hours 6 mins',
u'value':14753
},
u'status':u'OK'
}
]
}
],
u'status':u'OK'
}
我正在尝试对持续时间和距离的 'value' 字段求和(因此,获取给定行程的总距离和持续时间,这些文档之一来自 Google 地图距离 API)。我尝试了很多 pluck 组合(来自嵌套字段文档),但似乎无法正常工作。我在 Python 工作,在此先感谢您的帮助。
这是你想要的吗?
document['rows'].concat_map(lambda row: row['elements'])['distance']['value'].sum()