私はここで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();
コードを正しく取得すると、スクリプトの最後にあるターミナルに出力が表示され、「ユーザーが見つかりました」というメッセージとコレクションのすべてのユーザーが出力されます。しかし、タイムアウトメッセージが表示されます。どうして?
サーバーをAmazonEC2マイクロインスタンスで実行しています。Node、Mongodb、mongooseがインストールされ、Mongodbサーバーが実行されています(ターミナルから「mongo」を介して対話できます)。また、ディレクトリ/ data/dbを作成しました。