2017-01-03 10 views
0

ノードjsにプールするのが初めてです。私はcrud_new_op.jsファイルでプール接続を開始し、db_crud.jsへの接続をエクスポートしてコンソールにログインしようとしています。ノードjsのデータベースプーリング中の未定義の「接続」

私はさまざまな方法を試してみましたが、私はいつも私がプールからエクスポートすることを接続するための "未定義" を取得...

db_crud.js

var express = require('express'); 
var app = express(); 

var crud = require('./routes/crud_op_new.js'); 

app.get('/search',(req,res)=>{ 
console.log(crud.connection); 
}); 

app.listen(8044); 

crud_op_new.js

var mysql = require('mysql'); 

var conn = require('../config/db_config.js'); 

var db = conn.database; 

var pool = mysql.createPool({ 
connectionLimit : 100, 
host : db.host, 
user : db.user, 
password : db.password, 
database : db.database 
}); 

pool.getConnection(function(err,connection){ 
if(!err){ 
    exports.connection; 
} 
else { 
    console.log("Error at pool creation"); 
} 
}); 

データベース接続には何も問題ありません。

答えて

0

あなたは

db_crud.js

var express = require('express'); 
var app = express(); 
var crud = require('./routes/crud_op_new.js'); 

app.get('/search',(req,res)=>{ 
crud.connection(function (con) { 
    console.log(con); 
}); 
}); 

app.listen(8044); 

crud_op_new.js

var mysql = require('mysql'); 

var conn = require('../config/db_config.js'); 

var db = conn.database; 

var pool = mysql.createPool({ 
connectionLimit : 100, 
host : db.host, 
user : db.user, 
password : db.password, 
database : db.database 
}); 

exports.connection = function (callback) { 
    pool.getConnection(function(err,con){ 
    if(err) throw err; 
    return callback(con); 
    }); 
} 
+1

'exports.connection()'はまだ 'undefined'を返します – Adam

+0

いいえ。私はそれを試みました。接続オブジェクトが表示されます。 – digit

+0

私はあまりにも同じ定義を得ていません – VisheshRaju

2

なぜあなたはちょうど前方pool.getConnection機能を渡さない接続を返す必要がありますか?

// crud_op_new.js 
exports.connection = pool.getConnection.bind(pool); 

// db_crud.js 
crud.connection(function (err, con) { 
    if (err) throw err; 
    console.log(con); 
}); 
+0

これはコールバックを渡すことなく最も簡単な方法です。 – digit

+0

これも機能します!ありがとう...また、非常にシンプル – VisheshRaju

関連する問題