2014-04-08 3 views
1
var fs = require('fs'); 

var mongo = require("mongodb"); 

var config = JSON.parse(fs.readFileSync('./config.json')); 

var host = config.host; 

var port = mongo.Connection.DEFAULT_PORT; 

var db = new mongo.Db("Nodejs-introduction", new mongo.Server(host,port,{})); 

db.open(function(error){ 
console.log("we are connected " + host + " : " + port); 

db.collection("user",function(error,collection){ 
    console.log("we have the collection"); 

    collection.insert({ 
     name:"jarvis" 
    }, function(err,result){ 
     if(err) throw err; 

     console.log(result); 

     db.close(); 
    }); 

}); 

});nodejs와 mongodb 사이에서 데이터베이스 협상이 성공적이지 않음

위 프로그램의 경우.

enter image description here

+0

실제로이 목록에서'db.collection' 다음에 콜백을 닫지 않습니다. 그렇다면 실제로 닫히는 곳은 어디입니까? 이 유형 오류는 범위를 벗어난 내용을 참조했을 가능성이 높음을 나타냅니다. –

+0

@NeilLunn mongodb를 올바르게 설치하여 문제를 해결했습니다. 나는 mongodb이 설치되어 있다고 가정했으나하지 않았다. –

답변

0

Mongodb를 다시 설치하여이 문제를 해결했습니다.

0

당신의 연결이 괜찮습니다, 나는 문제가 여기에

collection.insert({ 
    name: "jarvis" 
}, function(err,result){ 
    console.log(err); 
}); 

당신은 수도있을 것 같아요 : 변화는 다음과 같습니다 후 나는 명령 프롬프트에 enter image description here

오류를 다음과 같은 오류가 해당 삽입에 오류가없는 동안 err을 로깅하는 데 문제가 있습니다. 그것을 시도하십시오 :

collection.insert({ 
    name: "jarvis" 
}, function(err,result){ 
    if(err) throw err; 

    console.log(result); 

    db.close(); 
}); 

그리고 db를 닫아야한다는 것을 기억하십시오.

+0

오류가 해결되지 않았습니다. 변경 한 후에 아래 오류를 게시합니다. –

+1

mongodb를 올바르게 설치하여 문제를 해결했습니다. 나는 mongodb이 설치되어 있다고 가정했으나하지 않았다. –