【问题标题】:How to use one Mysql pool connection in many files in a NodeJS Express App如何在 NodeJS Express 应用程序的多个文件中使用一个 Mysql 池连接
【发布时间】:2018-12-26 20:10:10
【问题描述】:

对此我一直在摸不着头脑。我想知道是否有一种有效的方法来创建一个 Mysql 连接并在 Express 服务的应用程序中的不同模块之间共享它。到目前为止,我在所有需要各种数据库连接的 JS 文件的顶部都有以下代码:

const db = require('mysql2')
pool = db.createPool(<config details>)

// Below
pool.execute(.. ) // etc

我觉得这有点矫枉过正。有没有办法创建一个连接,比如在快递应用程序中?还是一个单独的文件,然后在需要时检索该连接?我在想这样的事情:

// In db.js
const db = require('mysql2')
module.exports = db.createPool(<config details>)

// In file1.js that needs a db connection
let db = require('./db')
db.execute(...)

// In file2.js
let db = require('./db')
db.execute(...)

等等。谢谢大家的帮助。

【问题讨论】:

  • 你试过这样做吗?
  • @Paul 我实际上还没有 ;D,应该吗?让我试试看。
  • 是的;应该像你描述的那样工作,你的直觉很强大。
  • 我会被诅咒的!有用! :) 太好了!
  • 欢迎您(有点;您已经知道该怎么做了)。如果可以,请回答您自己的问题并获得荣誉。 ;)

标签: node.js express node-mysql


【解决方案1】:

嗯, 感谢@paul,我想通了。我在放置 MySQL 连接的位置创建了一个 dB 文件并将其导出,以便其他需要连接的文件可以简单地需要它。

// dB.sql
let MySQL = require(‘mysql2’)
module.exports = MySQL.createPool(require(‘./config’)

因此,任何包含上述文件的文件都可以访问该连接。

// File that needs pool instance
let pool = require(‘path to dB file’)

我希望这对正在寻找类似解决方案的人有所帮助。

干杯!

【讨论】:

    猜你喜欢
    • 2015-08-02
    • 2016-09-03
    • 2014-06-22
    • 1970-01-01
    • 2013-05-23
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多