2016-03-28 66 views
-1

我有一个postgres数据库,我从中查询返回从我的查询中返回的一组对象 我使用的堆栈是node express,javascript,并且我使用websockets来捕获传输数据。我试图编译的对象转化成 这是我使用的代码,我从数据库中JavaScript中是否有一个函数或方法可以合并多个对象?

`socket.on('get2GTPmatch', function(team2){ 
    for(var i = 0; i<team2.rows.length; i++){ 
    console.log(team2.rows[i]); 
    } 
});' 




Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "FALLEN", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 3, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 3, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 3, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 2, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 1, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 2, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 1, assists: 2} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fer", kills: 4, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 1, assists: 1} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "coldzera", kills: 3, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 1, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "FALLEN", kills: 1, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "coldzera", kills: 2, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 1, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "fnx", kills: 1, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "FALLEN", kills: 0, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "fer", kills: 1, deaths: 0, assists: 1} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "TACO", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "fnx", kills: 0, deaths: 0, assists: 0} 
Object {name: "Luminosity", alias: "FALLEN", kills: 2, deaths: 1, assists: 0} 
Object {name: "Luminosity", alias: "coldzera", kills: 0, deaths: 1, assists: 0} 

获取数据后,有一个简单的方法来所有我回来到一个单一的对象与对象合并{名称:,别名:,杀人数:(所有对象名称/别名总数),:死亡数量(与杀死数量相同),助攻数量(与杀死数量相同)}?

谢谢你的帮助。我仍然是一个小菜鸟。抱歉。

也许使用Object.assign()方法
+0

简单地迭代对象并从那里填充新对象的值会出现什么问题? –

+0

相关问题:http://stackoverflow.com/questions/25047463/group-by-and-sum-using-underscore-lodash?rq=1 –

+0

https://developer.mozilla.org/en-US/docs/ Web/JavaScript/Reference/Global_Objects/Object/assign – Dexter

回答

0
client.query(
    "SELECT teams.name AS team, players.alias, SUM(kills) AS kills, SUM(deaths) AS deaths, SUM(assists) AS assists FROM rounds \ 
    JOIN player_rounds ON rounds.id=player_rounds.round_id \ 
    JOIN players ON player_rounds.player_id=players.steam_id \ 
    JOIN teams ON players.team=teams.id \ 
    WHERE rounds.game_id='B3Il5v' \ 
    GROUP BY players.alias, teams.name\ 
    ORDER BY teams.name", 
    function(err,results){ 
     if(err) { 
     return console.error('error occurred'); 
     } 
     // console.log(results); 
     socket.emit('getKDAmatch', results) 

});

这是事实,我有一个与SQL组通过。当我刚刚使用teams.name组时,出于某种原因它会引发错误。

0

var objs_merged = {}; 
socket.on('get2GTPmatch', function(team2){ 
    for(var i = 0; i < team2.rows.length; i++) { 
     objs_merged = Object.assign(objs_merged, team2.rows[i]); 
    } 
}); 

如果你想与总结性一个对象,以及那会是很容易与您的数据库查询做。

+0

然后我通过一个很长的sql查询。我只需要休息一下,不要一天碰到我的头10个小时。 :) – powerup7

+0

很高兴你知道了。通过查询进行分组和总结要容易得多。 – Dexter

相关问题