2012-03-30 26 views
1

mongodbシャーディングでコレクションの名前を変更するにはどうすればよいですか? プロダクションサーバーで試したので、参照用に次のエラーがスローされました。MongoDBシャーディングのコレクションの名前変更

私の要件既存のコレクションに価値のあるフィールドをもう少し追加する必要があります。しかし、プロダクションでは、トラフィックに基づく収集を中断することはできず、いつでもメンバーからの要求が同時に発生します。そこで私たちはSQLからmongoへのレコード全体を別のコレクションに移入し、コレクションの名前を変更してプロダクションにすることを計画しました。私たちの計画。しかし、それ以上のことはできません。エラーの後、私たちはそれを得た。

db.clientdetails.renameCollection("clientdetails_bkup"); { 
      "assertion" : "You can't rename a sharded collection", 
      "assertionCode" : 13138, 
      "errmsg" : "db assertion failure", 
      "ok" : 0 } 

mongodbシャーディングでは不可能な場合は、私たちがこの問題を解決できる方法を提案してください。

さらに詳しい情報をお聞かせください。

+1

初心者の方は、前の回答に同意してください:) –

+1

確かに。これに答えることに気をつけるつもりはありません。 –

+0

既存のコレクションに値を追加するには、データベースが遅くなりすぎますか?それはあなたがテストしたものなのでしょうか、それとも恐れているのでしょうか? – Ben

答えて

1

シャードされたコレクションの名前を変更する方法はありません。

すべてのドキュメントを新しいコレクションにコピーできます。

または、週単位/期間の日付に基づいて複数のコレクションを作成し、現在のものとして使用します。次に、アプリケーションで常に名前で現在のものを使用させ、各期間中に名前を変更します。

関連する問題