我在我的 express 应用程序中构建了一系列数据库查询,这些查询驻留在一个/models/index.js
文件中,我可以app.js
通过var express = require('express');
. 我正在尝试req.session.user
使用由 a 返回的用户 ID填充findByEmail();
/models/index.js
使用.
该findByEmail();
函数工作正常,但是我不知道如何将其返回值存储在req.session
. 我试过包含req.session.id = result.rows[0].id;
在'findByEmail();function, but this returns a
req 未定义`错误。
我是否忽略了文件require
中的一个简单语句,/models/index.js
或者是否有其他访问技巧req.session
?
我已经包含了相关代码/models.index.js
下面的相关代码:
/models.index.js:
var pg = require('pg');
function findByEmail(email){
pg.connect(function(err, client, done) {
if(err) {
console.log('pg.connect error');
throw err;
}
client.query('BEGIN', function(err) {
if(err) {
console.log('client.query BEGIN error');
return rollback(client, done);
}
process.nextTick(function() {
var text = "SELECT * FROM users WHERE email = $1";
client.query(text, [email], function(err, result) {
if(err) {
console.log(err);
return rollback(client, done);
}
console.log(result);
console.log(result.rows);
console.log('id: ', result.rows[0].id);
req.session.id = result.rows[0].id;
done();
});
});
});
});
}
module.exports.pg = pg;
exports.findByEmail = findByEmail;