我正在尝试运行一个简单的猫鼬/节点示例,我在 stackoverflow 上找到了该示例:
var mongoose = require('mongoose'),
db = mongoose.connect('mongodb://localhost/db'),
Schema = mongoose.Schema;
var sentinel = setTimeout(function(){
throw "failed to connect to MongoDB after one minute!";
}, 60*1000); // 60 seconds
mongoose.model('User', new Schema({
properties: {
name : { type: String, index: true }
}
}));
var User = db.model('User');
var u = new User();
u.name = 'Foo';
u.save();
User.find().all(function(arr) {
clearTimeout(sentinel); // cancel the timeout sentinel
console.log('Users found');
console.log(arr);
console.log('length='+arr.length);
});
process.stdin.resume();
如果我得到正确的代码,脚本末尾的终端应该会输出一个输出,其中应该打印“找到用户”消息和集合中的所有用户。但我只是收到超时消息。为什么?
我在 Amazon EC2 微型实例上运行我的服务器。Node、Mongodb 和 mongoose 已安装并且 Mongodb 服务器正在运行(我可以通过“mongo”从终端与它交互)。我还创建了目录 /data/db。