2016-09-10 10 views
4

Amazon EC2 LinuxサーバーでMongooseを使用してMongoDBに接続しようとしています。mongooseは決してmongodbに接続しません

は、ここに私のコードです:

var mongoose = require('mongoose'); 
console.log("Attempting antyhing to do with mongoose"); //shown 

var db = mongoose.connection; 
db.on('error',console.error.bind(console,'db connection error:')); //not shown 
db.once('open',function(){ 
    console.log("Successful connection to db!"); //not shown 
}); 

mongoose.connect('mongodb://localhost:27017/local',function(err){ 
    console.log("some kinda connection made"); //not shown 
    if(err) 
    { 
     console.log("err: "+err); 
    } 
}); 

はイライラ、私は全くマングースからすべてのエラーを得ていないんだけど、何も現れていないようにみえます。

mongooseとmongoでコールバックがないことについて多くの疑問があるようです。

参考までに私はこのチュートリアルに従っています:https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4

私が心配していることの一つは、私は複数のファイルに自分のコードを分割していることです。ですから、このmongoose接続コードは、app/models/host.js(またはチュートリアルのbear.js)ファイルから呼び出されています。他のファイルを投稿すると役立つと私に教えてください。

+1

同じチュートリアルで同じ問題が発生しました。私は家庭料理を使ってインストールされたMacでローカルにmongoを実行しています。 CLIで接続してコマンドを実行できます。アプリは5つの接続を管理します(私はmongod端末で見ることができます)が、どのクエリでも無期限にハングアップします。まだ問題が見つかりませんでした:( – dubj

答えて

3

私も同じ問題に直面していました。

チェック、あなたがこのリンクをサポートするにはMongoDBサーバのバージョン

チェック互換性を使用しているマングースのバージョン:http://mongoosejs.com/docs/compatibility.html

の変更に応じてpackage.jsonファイルでマングースのバージョン。

希望すると便利です。

0

問題を実際には解決していませんが、回避策を見つけました...マングースを使用していません。特に私がチュートリアルに従おうとしていたときに、マングースに接続することに感謝します。ここで

が正常にMongoDBに接続私のコードです:

var mongodb = require('mongodb'); 
var MongoClient = mongodb.MongoClient; 
var url = "mongodb://localhost:27017/host"; 

//Go Ahead and connect & sketchily initialize the db 
var db; 
var collection; 
MongoClient.connect(url,function(err,database){ 
    if(err){ 
     console.log("Coudln't connect to mongo. Error"+err); 
    } else{ 
     db = database; 
     collection = db.collection('hosts'); 
     console.log("Connected to mongo, db good to go"); 
    } 
}); 
関連する問題