Provavelmente, a maneira mais eficiente de copiar uma coleção de um banco de dados para outro é usar mongodump /mongorestore da sua concha:
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=-
O primeiro comando usará
mongo
para criar a coleção de destino. Isso é necessário devido ao seu caso de uso, pois, pelo que acabei de testar, mongorestore
não criará uma coleção vazia. Depois disso, este é apenas um processo de despejo/restauração. Observe que
mongodump
aceitará uma --query
parâmetro caso você precise de um parcial cópia de sua coleção.