2014-09-22 4 views
2

동일한 이름/이메일을 가진 사용자가있을 경우 새 사용자를 만들 수 없다는 것을 증명할 수있는 이상한 문제가 있습니다. 항상 실패하는 것 같습니다. 나는 세부 기대와 데이터베이스에 사용자를 추가하는 첫 번째 단계에서 볼 때, 그것은 삽입하고 다시 문서로 호출 : 나는 문서의 CONSOLE.LOG이 삽입에서 반환 할 경우에 따라서NodeJs를 사용하여 Mongodb에 문서를 삽입했지만 문서가 없습니다.

[ { Username: 'AccountUser', 
    Email: '[email protected]', 
    CreatedDate: Mon Sep 22 2014 12:52:48 GMT+0100 (GMT Summer Time), 
    _id: 54200d90d0a34ffc1565df13 } ] 

내가 얻은 것 그게 괜찮은지, 그리고 _id가 mongo에 의해 정해 졌기 때문에 호출이 성공했다는 것을 알았고 아무런 오류도 없었다.

그러나 데이터베이스 (MongoVUE)를 보면 콜렉션이 비어 있기 때문에 왜 이런 일이 일어나고 있는지 당혹 스럽습니다.

내가 사용하고 풀링 MongoDB를 연결 (즉 app.set("database_connection", database);를 사용하여 다음 응용 프로그램 설치 중에 설정. 그래서 조금이 일어나고있는 이유에 당황하고 여기에

큰 코드의 일부입니다 몇 가지 예제 코드입니다 하지만, 기본적으로 약속에 포함됩니다 :

// Point of connection creation 
var mongoClient = mongodb.MongoClient; 
var connectionCallback = function (err, database) { 
    if (err) { reject(err); } 
    resolve(database); 
}; 

try 
{ mongoClient.connect(connectionString, connectionCallback); } 
catch(exception) 
{ reject(exception); } 

// Point of usage 
var usersCollection = connection.collection("users"); 
usersCollection.insert(userDocument, function(err, docs) { 
    if(err) { 
     reject(err); 
     return; 
    } 

    console.log(docs); 
    resolve(docs[0]); 
}); 

이 컬렉션을 얻고 다음에 삽입하고, 로그 그래서 연결을 생성하고 내가 연결을 얻을 삽입하는 시점에서 다음, 다른 곳에서 사용할 수 있도록 데이터베이스를 다시 전달 추가 된 문서는 위 로그 출력에있는 내용입니다.

은 또한 마지막으로 실행 :

  • 윈도우 8.1
  • 노드 0.11.13
  • NPM MongoDB를 최신
  • MongoDB를 2.6.1
+2

아니요 이상한 손상은 잘 테스트 된 소프트웨어에서 흔히 나타나는 현상이 아닙니다. 아마도 ** 귀하의 질문에 ** ** 몇 가지 코드 **를 표시하여 ** 귀하가 ** 잘못하고있는 것을 말할 수 있습니다. –

+0

실제로, 나는 문서에서 _id를 얻었을 때 삽입이 있음을 암시하지만 데이터베이스에는 아무 것도 나타나지 않습니다. 질문을 업데이트하여 일부 코드를 표시합니다. – Grofit

+2

테스트 데이터베이스가 아닌 정확한 데이터베이스를 조사하고 있습니까? – BatScream

답변

0

내가 기대했다 않음 대답하지만, 희소 한 경우 컴퓨터를 다시 시작했지만 더 이상 문제가 발생하지 않습니다. 나는 그것이 무엇을 일으키는 지 전혀 몰랐다. 그리고 나는 그것이 다시 일어나는 것을 약간 걱정한다. 그러나 현재 나는 다시 일어나있다.

관련 문제