Shoken Startup Blog

KitchHike Founder/CTO

MongoDBでcollectionをコピーする方法

MongoDBでcollection名の変更は、db.copyDatabase(fromdb, todb, fromhost)を使います。
dbshell Reference - MongoDB


MySLQで、テーブルのコピーは以下のSQLに相当します。

/* testテーブルのスキーマをコピーしてテーブル作成 */
> CREATE TABLE test2 LIKE test;
/* test2テーブルのデータをINSERT */
> INSERT INTO test2 SELECT * FROM test;

testというdatabaseをtest2としてコピーする方法です。

[root@xxx ~]# mongo
MongoDB shell version: 2.0.4
connecting to: test
> show dbs
test    0.0625GB
> db.copyDatabase('test','test2')
{ "ok" : 1 }
> show dbs
test    0.0625GB
test2   0.0625GB