Ниже приведен мой код:
mongoose.connect('mongodb://localhost/mydatabase');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
console.log('DB connection opened');
});
// ...
var dbCallback = function(err, body) {
// ...
};
// ...
var StuffModel = mongoose.model('Stuff', StuffSchema);
StuffModel.find({}).exec(dbCallback);
Функция dbCallback
никогда не вызывается. Любая помощь будет принята с благодарностью!
Вы пытались выполнить свой запрос после открытия соединения с базой данных? У меня нет сервера Mongoose, чтобы проверить его, но это было бы моим первым предположением.
var Stuff = mongoose.model('Stuff', StuffSchema);
db.once('open', function () {
Stuff.find({}, function (e, body) {
console.log('It worked!');
});
});
Извините, если это не исправление.
Убедитесь, что вы действительно подключены к вашему экземпляру Mongo, иначе запросы будут оставлены зависающими, и часто ошибка не будет выбрана или возвращена. Ошибка моего монгольского URI вызывала это для меня.
В вашем коде у вас установлен Mongo URI на mongodb://localhost/mydatabase
. Я полагаю, что это, вероятно, неверно и является причиной вашей проблемы. Измените свой URI на localhost:27017
, который является портом по умолчанию, на котором установлен Mongo.