Pravděpodobně nejúčinnějším způsobem kopírování kolekce z databáze do jiné je použití mongodump /mongorestore z vašeho shellu:
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=-
První příkaz bude používat mongo
k vytvoření cílové kolekce. Toto je vyžadováno vzhledem k vašemu případu použití, protože podle toho, co jsem právě testoval, mongorestore
nevytvoří prázdnou kolekci. Poté je to pouze proces výpisu/obnovy.
Vezměte prosím na vědomí, že mongodump
přijme --query
parametr v případě, že potřebujete částečné kopii vaší sbírky.