Det förmodligen mest effektiva sättet att kopiera en samling från en DB till en annan är att använda mongodump /mongorestore från ditt skal:
sh$ echo 'db.createCollection("some_collection")' | mongo my_dst_db
sh$ mongodump --db my_src_db --collection some_collection --out=- | \
mongorestore --db my_dst_db --collection some_collection --dir=-
Det första kommandot använder mongo
för att skapa destinationssamlingen. Detta krävs med tanke på ditt användningsfall eftersom, från vad jag just har testat, mongorestore
kommer inte att skapa en tom samling. Efter det är detta bara en dumpnings-/återställningsprocess.
Observera att mongodump
accepterar en --query
parameter om du behöver en partiell kopia av din samling.