2014-04-09 141 views
2

嗨關閉連接到應用,需要一些幫助,有問題時,運行這段代碼:MongoError:如何使用Node.js驅動程序

MongoClient.connect('mongodb://localhost:27017/school',function (err,db) { 
    if(err) throw err; 
    var query = {}; 
    var cursor = db.collection('students').find(query); 
     cursor.each(function (err,doc) { 
      if(err) throw err; 
      if(doc==null) return db.close(); 
      //Processing doc to update 
      db.collection('students').update({"_id":doc["_id"]},{$set:{"scores":doc.scores}},function (err,result) { 
       if(err) throw err; 
      }); 
     }); 

它的工作原理,但隨後出現此消息=(:

MongoError: Connection Closed By Application 
+0

沒有嘗試調試您的源代碼,並找出到底是哪行引發錯誤?對我來說,好像你有一個db.cl ose()在你的代碼中。在某些情況下可能會被執行。但是,您的代碼不會停止運行的下一個循環,它仍將使用關閉的數據庫對象。 – yaoxing

回答

4
MongoClient.connect('mongodb://localhost:27017/school',function (err,db) { 
if(err) throw err; 
var query = {}; 
var cursor = db.collection('students').find(query); 
    cursor.each(function (err,doc) { 
     if(err) throw err; 
     if(doc==null) return db.close(); 
     //Processing doc to update 
     db.collection('students').update({"_id":doc["_id"]},{$set:{"scores":doc.scores}},function (err,result) { 
      if(err) throw err; 
      db.close(); //this line was missing!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
     }); 
    }); 
+0

對不起,投了票,主持人請刪除downvote。謝謝。 –

相關問題