我试图在Loopback框架中使用Knex。目前,Loopback不提供创建高级查询的好方法。
我正在使用Knex的查询构建器,但默认情况下,Knex会在Loopback的ON TOP初始化自己的连接池。相反,我想使用已经由Loopback创建的连接池。
我尝试使用Knex的.connection()方法将连接设置为来自环回的连接,但是当我监视MySql服务器上的进程时,我注意到每次我创建一个使用Knex的调用创建了一个新连接。随着时间的推移,这会导致我的服务器耗尽与数据库的连接。
我做这样的事情:
var knex = require('knex')({
client: 'mysql',
connection: {
host: mysql.host,
port: mysql.port,
user: mysql.username,
password: mysql.password,
database: mysql.database,
debug: false
}
});
app.datasources.mysqldb.client.getConnection(function(err, connection){
knex.connection(connection).
//continue with the query building
}
我的问题是,如何利用Loopback与Knex的现有连接,以便Knex不会烧毁我数据库中的所有可用连接?我也尝试过使用knex" pool"配置,但似乎没有做任何事情......