Clone a collection in MongoDB
Solution 1:
Yet again the MongoDB documentation comes to the rescue
assuming that the collection actually is named "demo1.categories":
db.demo1.categories.find().forEach( function(x){db.demo2.categories.insert(x)} );
Solution 2:
The most simple & efficient way is by using copyTo(), so you can use:
db.source.copyTo("target");
& if "target"
doesn't exist, it will be created
-- Update --
According to CopyTo Documentation, Because copyTo()
uses eval internally, the copy operations will block all other operations on the mongod instance. So it shouldn't be used on production environment.
-- Update --
Because CopyTo()
uses eval()
internally & eval()
is deprecated since version 3.0, so CopyTo()
is also deprecated since version 3.0.