节点javascript中的Foreach似乎只在整个时间内返回一个结果

时间:2017-08-02 12:28:48

标签: javascript mysql node.js foreach

这很可能是因为我是节点和javascript的新手。我和朋友一直在使用Steam应用程序来更新给定用户的CS:GO等级。所有代码都有效 - 例如检查用户是否仍然在朋友列表等中但是我们似乎在实际上使用SQL查询的foreach时遇到问题,该查询抓取表中的所有用户并希望更新有关它们的信息。

CSGOCli.playerProfileRequest(CSGOCli.ToAccountID(value.steam64ID));
                            CSGOCli.on("playerProfile", function(profile) {

                                console.log('UPDATE counterStrikeGlobalOffensive SET clientRank = "'+ profile.account_profiles[0].ranking.rank_id +'",steamNick = "'+ name +'", wins = "'+ profile.account_profiles[0].ranking.wins +'", isVACBanned = "'+ profile.account_profiles[0].vac_banned +'" WHERE steam64ID = "'+ value.steam64ID +'"');

                                sqlll = 'UPDATE counterStrikeGlobalOffensive SET clientRank = "'+ profile.account_profiles[0].ranking.rank_id +'",steamNick = "'+ name +'", wins = "'+ profile.account_profiles[0].ranking.wins +'", isVACBanned = "'+ profile.account_profiles[0].vac_banned +'" WHERE steam64ID = "'+ value.steam64ID +'"';

                                con.query(sqlll, function (err, result) {
                                    if (err) throw err;
                                    console.log("1 record updated - csgo info.");
                                });

                                gameId = null;
                            });

那么问题是什么?如您所见,我们确实使用了foreach行。语句 - SQL本身是一个简单的SELECT * -

con.query("SELECT * FROM counterStrikeGlobalOffensive", function (err, rows) {

在其中放置上述代码。

我来自一个沉重的PHP背景,所以这可能是一个概念问题 - 我认为我需要重置变量或类似的东西?无论哪种方式,它的值

profile.account_profiles[0].ranking.rank_id
profile.account_profiles[0].ranking.wins
profile.account_profiles[0].vac_banned

似乎只被分配一次,只有一次。

有什么我明显做错了吗?

我很少问一个问题,所以如果有些事情不清楚,我会道歉 - 只是不确定要给某些看起来像是一件相当琐碎事情的确切信息。

由于

0 个答案:

没有答案