我有一个查询,使用eqjoin从两个不同的表返回以下数据。我想结合leftright的东西,但是我不想做zip()(重写namejoined_at),而是想将右边对象的属性添加到左边的属性中,命名为server_info并删除'left'并将其设为单个对象,例如在zip操作之后,如何直接在查询中执行此操作。

当前结果

[{
    "left":{
       "avatar":"a29f54048d9ec6c00913057333160a3e",
       "joined_at":"Thu Feb 25 2016 21:29:07 GMT+00:00",
       "name":"Zephy",
       "uid":"132166948359241728"
    },
    "right":{
       "icon":"2aab26934e72b4ec300c5aa6cf67c7b3",
       "id":"81384788765712384",
       "member_count":7888,
       "name":"Discord API",
       "owner_id":"53905483156684800",
    }
}]


预期结果

[{
    "avatar":"a29f54048d9ec6c00913057333160a3e",
    "joined_at":"Thu Feb 25 2016 21:29:07 GMT+00:00",
    "name":"Zephy",
    "uid":"132166948359241728"
    "server_info": {
       "icon":"2aab26934e72b4ec300c5aa6cf67c7b3",
       "id":"81384788765712384",
       "member_count":7888,
       "name":"Discord API",
       "owner_id":"53905483156684800",
    }
}]

最佳答案

您可以在查询的末尾添加.map(function(row) { return row('left').merge({'server_info': row('right')}); })以达到这种效果。

关于javascript - 左右加入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38152960/

10-14 04:16