在RethinkDB中对嵌套数组中的两个字段求和

时间:2016-08-24 18:31:50

标签: rethinkdb rethinkdb-python

以下文档存在于RethinkDB的表格中:

{  
   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'
}

我正在尝试对持续时间和距离的'值'字段求和(因此,获取给定行程的总距离和持续时间,这是其中一个文档来自Google Maps Distance API)。我已经尝试了很多pluck的组合(来自嵌套字段文档),但似乎无法实现这一点。我正在使用Python,并提前感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这样做你想要的吗?

document['rows'].concat_map(lambda row: row['elements'])['distance']['value'].sum()