サーチ…
備考
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つのユーティリティは、何が起こっているのか、またコレクションとドキュメントがどのように構造化されているかを理解するのに役立ちます。
mongo test --eval "var collection = 'users'" variety.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 } )