我有一个查询,使用eqjoin
从两个不同的表返回以下数据。我想结合left
和right
的东西,但是我不想做zip()
(重写name
和joined_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/