Le moyen probablement le plus efficace de copier une collection d'une base de données vers une autre consiste à utiliser mongodump /mongorestore depuis votre shell :
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=-
La première commande utilisera mongo
pour créer la collection de destination. Ceci est nécessaire compte tenu de votre cas d'utilisation car, d'après ce que je viens de tester, mongorestore
ne créera pas une collection vide. Après cela, ce n'est qu'un processus de vidage/restauration.
Veuillez noter que mongodump
acceptera une --query
paramètre au cas où vous auriez besoin d'un partiel copie de votre collection.