는이 코드를 가지고 :db.collection()에서 콜백이 발생하지 않는 이유는 무엇입니까? 데이터베이스 연결이 끊어지면 find(). toArray (콜백)가 호출됩니까?
DB 내 로컬 MongoDB를 서버에 열린 데이터베이스 연결입니다db.collection('users').find({ active: true).toArray(callback);
. 이것은 잘 작동합니다. 하지만 내 응용 프로그램이 실행되는 동안 mongodb 서버를 수동으로 닫은 다음이 코드 줄을 실행하면 오류가 발생하지 않고 콜백이 실행되지 않습니다. 이 예상되는 동작입니까? 내 앱이 데이터베이스 연결 끊김에 반응하도록하려면 어떻게해야합니까?
편집 :
다시db.collection('users')
.find({active: true}, function(err, cursor) {
if (err) callback(err);
else cursor.toArray(callback);
});
, 연결이 살아있다, 그러나 연결이 끊어 때, 발견의 익명 콜백 함수()가 호출 될 때이 작품 '
나는이 시도 err '을 null로 설정하고 .toArray의 콜백이 전혀 호출되지 않습니다. DB 연결이 작동하지 않는 경우 오류가 발생하도록 코드를 다시 작성하려면 어떻게합니까?
경우 (db._state === "연결") { db.collection ('사용자') .find (... } 다른 {("가인") 인상;} 대답에 대한 – Rondo