85

しばらくの間、GUIクライアント( wxPythonによる)用に実行中のMongoDBサーバーがあるとしましょう。

新しいMeteorプロジェクトを既存のMongoDBに接続するにはどうすればよいですか?

4

8 に答える 8

157

環境変数 MONGO_URL を使用します。何かのようなもの:

export MONGO_URL=mongodb://localhost:27017/your_db

your_dbまたは使用しmeteorたい任意のデータベースに置き換えます。

于 2012-10-21T09:35:30.277 に答える
14

私たちは使用しますnpm:

  • まだファイルがない場合は、でpackage.jsonファイルを作成します。npm init

  • そのファイルに次の行を入力して変更します (すべての を置き換えます<...>)。

"scripts": {"meteor": "MONGO_URL=mongodb://<USER>:<PASSWORD>@<SERVER>:<PORT>/<DB> meteor"}
  • その後、流星を開始できますnpm run meteor
于 2016-02-07T17:26:23.133 に答える
9

dannyの回答へのコメントで、TomWijsmanはpackages/mongo-livedata/mongo_driver.jsの21行目にパッチを適用することを推奨しています。より適切な場所はapp/meteor / run.jsの460行目です。このようにして、環境変数が存在する場合でも取得されます。 、HerokuでMeteorを実行している場合など。デフォルトのハードコードされたmongodb://127.0.0.1をMongoDBサーバーの場所に変更するだけです。

于 2012-11-13T14:34:39.180 に答える
4

db.copyDatabase を使用してこれを行うことができますが、バグがあり、Meteor のデータを更新できないことに注意してください。https://github.com/meteor/meteor/issues/61を参照してください

Meteor の開発バージョンを使用している場合は、Meteor アプリを起動してから実行することで、実行中の MongoDB サーバーからデータを転送できます。

mongo --port 3002

これにより、Meteor アプリの Mongo サーバーに接続されます。次のように db.copyDatabase を使用します。

db.copyDatabase('myappDatabase', 'meteor', 'localhost');

これにより、データベース myappDatabase が、localhost の標準ポートで実行されている MongoDB サーバーから Meteor アプリ Mongo サーバーにコピーされます。Meteor アプリが使用するデータベース名は「meteor」です。

于 2012-10-19T12:33:44.680 に答える
0

私がしたことは、localhost の代わりに私の Digital Ocean ドロップレット サーバーの IP を追加することだけでした。

env: {
      ROOT_URL: 'http://yourdomain.com',
      MONGO_URL: 'mongodb://104.236.24.66:27017/meteor',
      PORT: 3002,
    },

編集: MUP を使用して流星プロジェクトをデプロイします: https://github.com/zodern/meteor-up

env: {
      ROOT_URL: 'https://www.example.com',
      MONGO_URL: 'mongodb://localhost/meteor',
    },

Mup は Docker を使用し、2 つのコンテナーを「リンク」して、同じ VM (サーバー) でアプリと mongo の両方をホストします。セキュリティ上の理由から、パブリック IP から mongoDB にアクセスできないようにする必要があります。

于 2017-04-15T16:42:32.583 に答える
-6

ある端末ウィンドウでアプリを実行し続け、別の端末ウィンドウを開いて「meteor mongo」と入力すると、機能するはずです。

于 2015-09-07T11:47:39.330 に答える