mongoDB コレクション(テーブル)をリネームする

mongoDB コレクション(テーブル)をリネームする

mongoDBで、コレクション(テーブル)をリネームする手順を記述してます。「renameCollection」で変更したい名前を指定することで変更することが可能です。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

コレクション(テーブル)をリネームするには、「renameCollection」を使用します。

db.コレクション名.renameCollection("変更する名前")

実際に、以下のデータベース「hoge」に「aaa」というコレクションを作成して、「bbb」にリネームしてみます。

> db.aaa.insert({name:'itiro', age:10, gender:'m'});
{
  acknowledged: true,
  insertedIds: { '0': ObjectId("6364a61506a29c57f191d1b6") }
}

> db.aaa.renameCollection("bbb")
{ "ok" : 1 }

> db.bbb.find()
{ "_id" : ObjectId("61c3c8b1b72dd2b156014fb5"), "name" : "itiro", "age" : 10, "gender" : "m" }

リネームされていることが確認できます。

既に「bbb」が存在している場合は、エラーとなります。

> db.aaa.renameCollection("bbb")
{
        "ok" : 0,
        "errmsg" : "target namespace exists",
        "code" : 48,
        "codeName" : "NamespaceExists"
}

上書きする場合は、第二引数に「true」を指定します。

> db.aaa.renameCollection("bbb",true)
{ "ok" : 1 }