2016-09-10 11 views
2

助けが必要です。接続を閉じることができません。近くには、結果はあなたがあまりにも早くクエリがまだ処理されたときに、あなたのデシベルを閉じ接続が終了しませんmongodb

function(table, where, to_select, callback) { 
    db.open(function(err, db) { 
     assert.equal(null, err); 
     if (!err) { 
      collection = db.collection(table); 
      collection.find(where, to_select).toArray(function(err, resp) { console.log(resp); //returns undefined 
       callback(err,resp); 
      }) 
     } else { 
      callback(err); 
     }  
     db.close(); 
    }); 
} 

答えて

3

としてundefinedを返します。そのため、クエリが実行されるまで、接続を閉じる延期ので

function(table, where, to_select, callback) { 
    db.open(function(err, db) { 
     assert.equal(null, err); 
     if (!err) { 
      collection = db.collection(table); 
      collection.find(where, to_select).toArray(function(err, resp) { console.log(resp); //returns undefined 
       db.close();      
       callback(err,resp);  
      }) 
     } else { 
      callback(err); 
      db.close(); 
     }  
    }); 
} 
+0

それは働くあなたは次のようにコールバックで結果を持っているが、私はまだ(ノード)警告取得しています:検出可能持つEventEmitterメモリリーク。 11リスナーが追加されました。 limitを増やすにはemitter.setMaxListeners()を使用してください。 –

+0

あなたのコードの他の部分も表示しなければならないので、献身的な質問でなければならないmongoDBに関する質問とは全く別の問題です。 – DAXaholic

+0

よろしくお願いいたします。あなたはそれを手伝ってもらえますか? http://stackoverflow.com/questions/39433733/warning-possible-eventemitter-memory-leak-detected-11-reconnect-listeners-adde –

関連する問題