2017-07-17 20 views
0

MeteorアプリケーションとMongoDB Atlasデータベース間の接続を確立しようとしています。Meteor - Uncaught Error:モジュール 'mongodb'を見つけることができません

私はJavaScriptを以下のビットを持っている:

var MongoClient = require('mongodb').MongoClient, format = require('util').format;     
MongoClient.connect('<MyMongoURL>', function (err, db) { 
if (err) { 
    throw err; 
} else { 
    console.log("successfully connected to the database"); 

    db.collection('largeTreeMap', function(err, docs) { 
    // Check for error 
    if(err) return console.log(err); 
    // Walk through the cursor 
    docs.find().each(function(err, doc) { 
     // Check for error 
     if(err) return console.err; 
     // Log document 
     console.log(doc); 
    }) 
}); 

} 
db.close();  }); 

私は空白のJS文書にこれを追加したがtest.jsと呼ばれ、私のコマンドラインで

node test.js 

を実行しているときにそれが成功メッセージを返さデータ:だから

Success

接続が確立できることがわかったので、Meteorプロジェクトにコードを追加しました。私は基本的なボタンを作成し、onClickはMongoDBへの接続を完了する必要があります。

はしかし、代わりに私は、次のコンソールエラーが表示されます。

Error

私は、これはプロジェクトディレクトリにnpm install mongodbを実行していないの結果であることは、様々なスタック質問を読んでから理解しています。しかし、私はこれと端末戻ってやって試してみました:

Error 2

すべてのボディは、MongoDBのインストールに失敗し、自分のアプリケーションでのMongoDBへの接続から私を妨げている理由を知っていますか?すべてのヘルプははるかに高く評価されるだろう

多くのおかげで、

G

+0

meteorは内部でmongodbのバージョンを所有しています。多分この問題を引き起こします。 – error404

答えて

1

あなたが望むものはおそらくないクライアント、からMongoのインスタンスに接続しようとしています。あなたはノードとそれを実行している、働いていた場合にはそのpackage.json

"engines": { 
    "node": ">=0.10.3" 
}, 

に、このラインから見ることができるように

mongodb NPMパッケージには、ブラウザでJavaScript、唯一のNode.jsのではなくサポートしています。

環境変数をMONGO_URLに設定してMongo Atlasインスタンスに設定し、接続/更新の実装をMeteor自体に任せてください。

+0

あなたの答えをありがとう - settings.jsonファイルのMONGO_URLを設定するだけで十分ですか? – GeorgeBT

+1

これらは異なっているわけではありません。 'settings.json'で設定した設定は' Meteor.settings'でアクセスされます。これは 'process.env'でアクセスする環境変数とは異なります。 – d4nyll

関連する問題