나는 지속적으로 실행되지 않는 스크립트에서 몽구스를 사용하고 있으며 매우 간단한 문제 인 것처럼 보이지만 대답을 찾을 수 없습니다. 간단히 mongodb에 요청을 보내는 mongoose 함수를 호출하면 nodejs 인스턴스가 멈추지 않으며 Ctrl + c 또는 Program.exit ()로 수동으로 종료해야합니다.
코드는 대략 다음과 같습니다.
var mongoose = require('mongoose');
// if my program ends after this line, it shuts down as expected, my guess is that the connection is not really done here but only on the first real request ?
mongoose.connect('mongodb://localhost:27017/somedb');
// define some models
// if I include this line for example, node never stop afterwards
var MyModel = mongoose.model('MyModel', MySchema);
mongoose.disconnect ()에 호출을 추가하려고 시도했지만 결과는 없습니다. 그 외에도 모든 것이 잘 작동합니다 (찾기, 저장 등).
이것은이 사람과 똑같은 문제이며 슬프게도 아무런 대답을 얻지 못했습니다 : https://groups.google.com/group/mongoose-orm/browse_thread/thread/c72cc1c51c76e661
감사
편집 : 기술적으로 정확하기 때문에 아래 답변을 수락했지만 누군가 가이 문제를 다시 발견하면 몽구스 및 / 또는 mongodb 드라이버가 여전히 실행중인 쿼리가 있는지 물어볼 때 연결을 닫지 않는 것 같습니다.
연결 끊기 호출도 전혀 기억하지 않으며 쿼리 실행이 완료되면 기억하지 않습니다. 예외 나 다른 종류의 호출없이 호출을 버리고 실제로 연결을 닫지 않습니다.
그래서 당신은 그것을 가지고 있습니다 : 실제로 작동하려면 disconnect ()를 호출하기 전에 모든 쿼리가 처리되었는지 확인하십시오.