如何在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; 
Interesting Posts