Nodejs 护照设置混乱
Nodejs passport setup confusion
我一直在尝试设置我的 Nodejs MySQL 数据库配置。我在 Github 上找到 this passport.js MySQL 配置。配置正常,但有部分我不明白。
var insertQuery = "INSERT INTO users ( email, password ) values ('" + email +"','"+ password +"')";
console.log(insertQuery);
connection.query(insertQuery,function(err,rows){
newUserMysql.id = rows.insertId;
return done(null, newUserMysql);
});
我对 insertID
字段感到困惑。我正在使用的 table 没有名为 insertID 的字段。但是它确实有一个名为 ID 的字段。我尝试将该行更改为
newUserMysql.id = rows.Id;
bu 这样做给了我:
Error: Failed to serialize user into session
保持原样不会出现错误
看起来 insertID
与我 table 的 ID
字段无关,但我不明白它是什么意思
这可能代表 LAST_INSERT_ID()
这是插入的最后一行的 ID。
INSERT
的响应不是 "rows" 而是一个结果对象,所以最好将其命名为:
connection.query("...", function(err, result) {
newUserMysql.id = result.insertId;
return done(null, newUserMysql);
});
请务必注意,使用 Promises 可以显着简化您的代码,async
/await
可以进一步简化代码。这可以很简单:
let result = await connection.query("...");
newUserMysql.id = result.insertId;
return newUserMysql;
它位于 async function
中,其中包含像 Sequelize 这样的 Promise 驱动的数据库库。您没有处理第一种情况下的潜在错误。在第二个中你会得到异常,当出现问题时它会唤醒你。
我一直在尝试设置我的 Nodejs MySQL 数据库配置。我在 Github 上找到 this passport.js MySQL 配置。配置正常,但有部分我不明白。
var insertQuery = "INSERT INTO users ( email, password ) values ('" + email +"','"+ password +"')";
console.log(insertQuery);
connection.query(insertQuery,function(err,rows){
newUserMysql.id = rows.insertId;
return done(null, newUserMysql);
});
我对 insertID
字段感到困惑。我正在使用的 table 没有名为 insertID 的字段。但是它确实有一个名为 ID 的字段。我尝试将该行更改为
newUserMysql.id = rows.Id;
bu 这样做给了我:
Error: Failed to serialize user into session
保持原样不会出现错误
看起来 insertID
与我 table 的 ID
字段无关,但我不明白它是什么意思
这可能代表 LAST_INSERT_ID()
这是插入的最后一行的 ID。
INSERT
的响应不是 "rows" 而是一个结果对象,所以最好将其命名为:
connection.query("...", function(err, result) {
newUserMysql.id = result.insertId;
return done(null, newUserMysql);
});
请务必注意,使用 Promises 可以显着简化您的代码,async
/await
可以进一步简化代码。这可以很简单:
let result = await connection.query("...");
newUserMysql.id = result.insertId;
return newUserMysql;
它位于 async function
中,其中包含像 Sequelize 这样的 Promise 驱动的数据库库。您没有处理第一种情况下的潜在错误。在第二个中你会得到异常,当出现问题时它会唤醒你。