サーチ…


前書き

MongoDBは、フリーでオープンソースのクロスプラットフォームのドキュメント指向データベースプログラムです。従来のSQLデータベースとは異なり、MongoDBはBSON(JSONなど)を使用してデータを格納します。 MeteorはデータベースストレージとしてMongoDBを使用するように設計されています。このトピックでは、MongoDBストレージをMeteorアプリケーションに実装する方法について説明します。

リモートMongo DBのエクスポート、ローカルMeteor Mongo DBへのインポート

本番データベースのコピーをローカルで再生する場合に役立ちます。

  1. mongodump --host some-mongo-host.com:1234 -d DATABASE_NAME -u DATABASE_USER -p DATABASE_PASSWORDこれにより、ローカル・dumpディレクトリーが作成されます。そのディレクトリ内にDATABASE_NAMEディレクトリが表示されます。
  2. ローカル流星アプリが実行されている状態で、 dumpディレクトリから次のmongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME実行しますmongorestore --db meteor --drop -h localhost --port 3001 DATABASE_NAME

あなたの地元の流行Mongo DBのMongo URLを入手してください

Meteorアプリがローカルで実行されている間:

meteor mongo --url

あなたの地元の流行のアプリケーションをMongoの別のDBに接続する

ローカルのMeteorアプリケーションを起動する前にMONGO_URL環境変数を設定してください。

Linux / MacOSの例:

MONGO_URL="mongodb://some-mongo-host.com:1234/mydatabase" meteor

または

export MONGO_URL="mongodb://some-mongo-host.com:1234/mydatabase" 
meteor

Windowsの例

注意:使用していません"

set MONGO_URL=mongodb://some-mongo-host.com:1234/mydatabase
meteor

NPM

//package.json

"scripts": {
    "start": "MONGO_URL=mongodb://some-mongo-host.com:1234/mydatabase meteor"
}

$ npm start

MongoDBなしで流星を走らせる

MONGO_URLをデータベースURL以外の任意の値に設定し、MongoDBなしでMeteorを実行するために、Meteorプロジェクト(Meteorパッケージで定義されたコレクションを含む)で定義されたコレクションがないことを確認してください。

MongoDBなしでは、Meteorのユーザアカウントシステムに関連するパッケージと並んで、サーバ/クライアントメソッドは定義されません。例: Meteor.userId()

Linux / Mac:

MONGO_URL="none" meteor

または

export MONGO_URL="none"
meteor

Windows:

set MONGO_URL=none
meteor

入門

Meteorプロジェクト内で次のコマンドを実行して、 mongoシェルを起動できます。

meteor mongo

注意:サーバー側のデータベースコンソールの起動は、Meteorがアプリケーションをローカルで実行している場合にのみ機能します。

その後、 mongoシェルで次のコマンドを実行することで、すべてのコレクションをリストすることができます。

show collections

また、ドキュメントのクエリ、挿入、更新、削除などの基本的なMongoDB操作を実行することもできます。


クエリ文書

ドキュメントはfind()メソッドを使って問い合わせることができます。例:

db.collection.find({name: 'Matthias Eckhart'});

これにより、 name属性がMatthias Eckhart設定されているすべての文書がリストされます。

ドキュメントを挿入する

ドキュメントをコレクションに挿入する場合は、次のコマンドを実行します。

db.collection.insert({name: 'Matthias Eckhart'});

ドキュメントの更新

ドキュメントを更新する場合は、 update()メソッドを使用します。

db.collection.update({name: 'Matthias Eckhart'}, {$set: {name: 'John Doe'}});

このコマンドを実行すると、フィールドname John Doeという値を設定することで、 単一のドキュメントが更新されます(初期値はMatthias Eckhartでした)。

特定の条件に一致するすべてのドキュメントを更新する場合は、 multiパラメータをtrueに設定しtrue 。たとえば、次のようになります。

db.collection.update({name: 'Matthias Eckhart'}, {$set: {name: 'John Doe'}}, {multi: true});

これで、最初にname属性がMatthias Eckhart設定されていたコレクション内のすべてのドキュメントがJohn Doe更新されました。

ドキュメントの削除

ドキュメントは、 remove()メソッドを使用すると簡単に削除できます。たとえば、次のようにします。

db.collection.remove({name: 'Matthias Eckhart'});

これにより、 nameフィールドで指定された値と一致するすべての文書が削除されます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow