Mongoose查询执行后,callback函数永远不会调用

以下是我的代码:

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服务器来testing它,但这是我的第一个猜测。

 var Stuff = mongoose.model('Stuff', StuffSchema); db.once('open', function () { Stuff.find({}, function (e, body) { console.log('It worked!'); }); }); 

对不起,如果这不最终修复它。

确保你实际连接到你的Mongo实例,否则查询将被挂起,并且经常没有错误被抛出或返回。 在我的Mongo URI的错误是造成这个对我来说。

在你的代码中,你的Mongo URI设置为mongodb://localhost/mydatabase 。 我想这可能是不正确的,是你的问题的原因。 将您的URI更改为localhost:27017 ,这是Mongo设置为运行的默认端口。