최근에 내 컴퓨터를 Node.js 버전 7.5.0으로 업데이트했습니다 (잘 기억하는 경우 이전 버전 4를 사용하고있었습니다).MongoDB에서 모든 데이터를 읽을 때 콜백이 호출되지 않는 이유는 무엇입니까?
이전에 작동했던 응용 프로그램 중 하나가 더 이상 작동하지 않습니다. 문제는 다음과 같이 재현 될 수 있습니다.
var connectionString = 'mongodb://127.0.0.1:27017/blog',
mongojs = require('mongojs'),
db = mongojs(connectionString, ['articles']),
dataArticles = db.collection('articles');
db.on('error', function (err) {
console.log('A');
});
db.on('connect', function() {
console.log('B');
});
dataArticles.find({}).toArray(function (err, articles) {
console.log('C');
});
이 코드는 업그레이드하기 전에 정상적으로 작동했지만 지금은 콜백이 호출되지 않습니다. 오류가없고 아무것도 없습니다. 콘솔은 비어 있습니다. 나는에 의해 마지막 블록을 교체하는 경우
:
db.runCommand({ping: 1}, function (err, res) {
console.log('C');
});
동작은 변경되지 않습니다.
코드는 the official documentation과 매우 유사합니다. a similar question on StackOverflow이 있지만 데이터베이스에 대한 연결이 명시 적으로 열립니다. 제 경우에는 설명서와 마찬가지로 mongojs
이 연결을 처리하도록합니다.
왜 콜백에 도달하지 않습니까?
방금 Node.js를 7.2.1에서 7.5.0으로 업그레이드했으며이 코드는 두 버전에서 모두 작동합니다. 'connectionString'을'mongodb : // localhost : 27017'로,'query'를'{}'로 변경했습니다. –