MongoDB2.6でdb.upgradeCheckAllDBsという便利コマンドが登場してた

要約

upgradeCheckAllDBsを使うと、v2.4 → v2.6のアップグレード前のチェックができます。

使い方

MongoDBのクライアントv2.6から、db.upgradeCheckAllDBs()というコマンドが実装されており、バージョンアップグレード前のデータ不整合チェックができます。

http://docs.mongodb.org/manual/reference/method/db.upgradeCheckAllDBs/#db.upgradeCheckAllDBs

例えばMongoDBのバージョンを2.4から2.6にあげたいときに、まずクライアントのバージョンをv2.6にして、v2.4のサーバに接続してこのコマンドを実行します。
$  mongo
MongoDB shell version: 2.6.7
connecting to: mydb
> db.upgradeCheckAllDBs();
2015-02-17T13:48:27.580+0000 Error: db.upgradeCheckAllDBs() can only be run from the admin database at src/mongo/shell/upgrade_check.js:173
一瞬エラーが出て焦りますが、"admin"という名前のDB(存在してなくてもOK)に接続すれば大丈夫です。
> use admin
switched to db admin
> db.upgradeCheckAllDBs();

Checking database local

Checking collection local.startup_log

Checking database xxxx

Checking collection xxxx.accesslog
270927 documents processed
541949 documents processed

こんな感じでチェックしてくれます。

実際に何をチェックしているのかは、上のリンク先を見てください。(とお茶を濁して逃げる)
カテゴリ:

人気記事