如何在Nodejs中的文件之间导出会话variables?
我目前在我的server.js文件中:
const neo4j_conn = 'bolt://' + config.neo4j.host; const driver = neo4j.driver(neo4j_conn, neo4j.auth.basic(config.neo4j.username, config.neo4j.passphrase)); const session = driver.session(); app.set('neo4jsession', session); require('./app/routes')(app);
并在我的路线文件中有:
const session = app.get('neo4jsession');
考虑到每个请求只需要一个会话,这是我连接数据库并获得会话的正确方法吗? 你能提出一个更好的devise模式/编码方法/为此目的?
在你的例子中,你打开会话,它是整个服务器。
你需要传递function
来代替function
结果:
app.set('neo4jsession', driver.session);
如果我们拿出路由器的例子:
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { const session = req.app.get('session')(); session .run( query ) .then( function(result) { res.json( result ); session.close(); }) }); module.exports = router;