サーチ…


備考

Rubyユーティリティの実行に反対しない場合、Genghisは古典的です: http : //genghisapp.com/

しかし、スケーラブルな生産のためには、MongoHQに身を任せてください。
http://www.mongohq.com/

また、Mongoの製造元である10GenからのMongo Monitoring Service:
https://mms.mongodb.com/

MongoClientはMeteor、完全無料、オープンソース、クロスプラットフォームで書かれています。

RoboMongoネイティブのクロスプラットフォームのMongoDB管理ツール

継承されたデータベースの分析

データベースのブラックボックス分析には、2つの素晴らしいユーティリティがあります。まずはvariety.jsです。これはあなたにハイレベルの概要を提供します。もう1つはschema.jsです。個々のフィールドの詳細については、コレクションを参照できます。生産Mongoデータベースを継承するとき、これら2つのユーティリティは、何が起こっているのか、またコレクションとドキュメントがどのように構造化されているかを理解するのに役立ちます。

variety.js

mongo test --eval "var collection = 'users'" variety.js

schema.js

mongo --shell schema.js 

* .meteorapp.comのデータベースに接続する

--urlフラグは使用するのが難しいかもしれません。認証には60秒のウィンドウがあり、ユーザー名/パスワードはランダムにリセットされます。したがって、robomongoを開いて、コマンドを実行するときに新しい接続を設定する準備ができていることを確認してください。

# get the MONGO_URL string for your app  
meteor mongo --url $METEOR_APP_URL

* .meteor.comからデータベースをダウンロードする

これまでと同じことですが、mongodumpコマンドに情報をコピーする必要があります。以下のコマンドを慎重に速く実行しなければならず、手/目の調整が必要です。警告してください!これはちょっとハッキリです!しかし、楽しい!それをビデオゲームと考えてください! :D

# get the MONGO_URL string for your app  
meteor mongo --url $METEOR_APP_URL

# then quickly copy all the info into the following command
mongodump -u username -p password --port 27017 --db meteor_app_url_com --host production-db-b1.meteor.io

ローカルMeteor開発インスタンスからデータをエクスポートしますか?

このコマンドは、/ dumpディレクトリを作成し、各コレクションを別々のBSON blobファイルに格納します。これは、システム間でデータベースをバックアップまたは転送するための最良の方法です。

mongodump --db meteor

ダンプファイルからのデータの復元

meteordumpコマンドのアナログはmeteorrestoreです。インポートする特定のコレクションを選択して、部分インポートを実行できます。特にドロップコマンドを実行した後に便利です。

# make sure your app is running
meteor

# then import your data
mongorestore --port 3001 --db meteor /path/to/dump

# a partial import after running > db.comments.drop()
mongorestore --port 3001 --db meteor /path/to/dump -c comments.bson

コレクションをJSONにエクスポートする

meteorを実行し、別のターミナルウィンドウを開き、次のコマンドを実行します。

mongoexport --db meteor --collection foo --port 3001 --out foo.json

メテオにJSONファイルをインポートする

デフォルトのMeteorインスタンスへのインポートはかなり簡単です。 jsonファイルを別のシステムから配列としてエクスポートする場合は、--jsonArrayオプションを追加できます。

mongoimport --db meteor --port 3001 --collection foo --file foo.json

ステージングデータベースとローカルデータベース間のデータのコピー

Mongoは、データベースからデータベースへのコピーをサポートしています。これは、ステージングデータベース上にローカル開発インスタンスにコピーする大規模なデータベースがある場合に便利です。

// run mongod so we can create a staging database
// note that this is a separate instance from the meteor mongo and minimongo instances
mongod

// import the json data into a staging database
// jsonArray is a useful command, particularly if you're migrating from SQL
mongoimport -d staging -c assets < data.json --jsonArray

// navigate to your application
cd myappdir

// run meteor and initiate it's database
meteor

// connect to the meteor mongodb
meteor mongo --port 3002

// copy collections from staging database into meteor database
db.copyDatabase('staging', 'meteor', 'localhost');

Ubuntu Box上のMongoデータベースのコンパクト化

事前配分。 Mongoは空のコンテナにディスクスペースを用意しています。そのため、ディスクに何かを書き込むときに、最初に途中でビットをシャッフルする必要はありません。これは倍増アルゴリズムによって行われ、2GBに達するまで常に事前割り当てされたディスク容量が倍増します。それから各preallocファイルは2GBである。データはあらかじめ割り当てられていれば、特に指示がない限り割り当てはされません。だから、観測可能なMongoDBのスペース使用量は自動的に上がる傾向にありますが、下降することはありません。

モンゴーの事前配分に関するいくつかの研究...
reduce-mongodb-database-file-size
mongo-prealloc-files-take-up-room

// compact the database from within the Mongo shell
db.runCommand( { compact : 'mycollectionname' } )

// repair the database from the command line
mongod --config /usr/local/etc/mongod.conf --repair --repairpath /Volumes/X/mongo_repair --nojournal

// or dump and re-import from the command line
mongodump -d databasename
echo 'db.dropDatabase()' | mongo databasename
mongorestore dump/databasename

レプリカセットをリセットする

ローカルデータベースファイルを削除します。 Mongoシェルを終了し、/ dbpath(設定した場所)に移動し、そのディレクトリ内のファイルを削除してください。

* .meteor.comのMongoインスタンスにリモートで接続する

あなたは--urlフラグについて知ってい--urlか?とても便利な。

meteor mongo --url YOURSITE.meteor.com

ローカル・メテオ・インスタンス上のMongoログ・ファイルへのアクセス

彼らは簡単にアクセスできません。 'meteor bundle'コマンドを実行すると、tar.gzファイルを生成して、手動でアプリを実行することができます。そうすることで、おそらく.meteor / dbディレクトリにあるmongoログにアクセスできるはずです。 mongodbログファイルに実際にアクセスする必要がある場合は、通常のmongodbインスタンスを設定し、Mongo_URL環境変数を設定して、Meteorを外部mongoインスタンスに接続します。

MONGO_URL='mongodb://user:password@host:port/databasename'

それが終わったら、通常の場所でログにアクセスできるはずです...

/var/log/mongodb/server1.log

Ubuntuボックスでログファイルを回転する

これらのログファイルを回転させると、最終的にはすべてのディスク容量が消費されます。いくつかの研究から始める...
mongodb-log-file-growth
rotate-log-files

ログファイルは、次のコマンドで表示することができます...

ls /var/log/mongodb/

しかし、ログファイルのローテーションを設定するには、以下を行う必要があります...

// put the following in the /etc/logrotate.d/mongod file
/var/log/mongo/*.log {
    daily
    rotate 30
    compress
    dateext
    missingok
    notifempty
    sharedscripts
    copytruncate
    postrotate
        /bin/kill -SIGUSR1 `cat /var/lib/mongo/mongod.lock 2> /dev/null` 2> /dev/null || true
    endscript
}

// to manually initiate a log file rotation, run from the Mongo shell
use admin
db.runCommand( { logRotate : 1 } )


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