Probablemente la forma más eficiente de copiar una colección de una base de datos a otra es usar mongodump /mongorestore desde tu caparazón:
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=-
El primer comando usará mongo
para crear la colección de destino. Esto es necesario dado su caso de uso ya que, por lo que acabo de probar, mongorestore
no creará una colección vacía. Después de eso, esto es solo un proceso de volcado/restauración.
Tenga en cuenta que mongodump
aceptará un --query
parámetro en caso de que necesite un parcial copia de tu colección.