すべての人に良い一日を!
最近、gentooで世界を再構築したため、mongoDBが更新されました。 コンソールを起動し、通常の
mongodump
および
mongorestore
。 アプリケーションを開くと、コレクションの一部が存在しないというエラーが多数表示されます。
mongodump
、
mongorestore
を再起動し、コレクションリストをチェックして、50個のコレクションのうち30個のみが存在することを確認しました。
私は理解し始め、問題は次のようであるという結論に達しました:mongodb2.4はサーバーにインストールされ、mongodb2.6は私にインストールされています。
私の最初の考えは
、バージョン2.4でmongoをすばやく
再構築し、人生を楽しむことでした。 彼らが言うように、これはコーシャではありません。 Googleに助けを求めましたが、mongo2.6ではコレクション作成チームの作業のロジックが変更されたことがわかりました。 現在、「size = null」と「max = null」は使用できません。 しかし、この問題の解決策は提供されていません。
そして今日、Habrauser
kuzmaのプロンプトのおかげ
で、解決策が見つかりました。 すべてが判明し、獲得しました。 したがって、私はそれをすべての人と共有することにしました。おそらく他の誰かに役立つでしょう。
how-it-will-be-be-be-called-locallyデータベース(以下を参照)がまだ存在しない場合は、次のコマンドを実行します。
mongo --eval "db.copyDatabase('remote-db-name','how-it-will-be-called-locally','server-address','user','password')"
データベースが既に存在する場合は、作成する前に削除する必要があります。
mongo how-it-will-be-called-locally --eval "db.dropDatabase(); db.copyDatabase('remote-db-name','how-it-will-be-called-locally', 'server-address','user','password')"
上記のコードは、リモートデータベースdb-nameをコピーし、how-it-will-be-called-locallyという名前でローカルにコピーを作成します
以上です。