Prawdopodobnie najbardziej efektywnym sposobem kopiowania kolekcji z bazy danych do innej jest użycie mongodump /mongorestore z twojej powłoki:
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=-
Pierwsze polecenie użyje mongo
aby utworzyć kolekcję docelową. Jest to wymagane, biorąc pod uwagę twój przypadek użycia, ponieważ z tego, co właśnie przetestowałem, mongorestore
nie utworzy pustej kolekcji. Następnie jest to tylko proces zrzutu/przywrócenia.
Pamiętaj, że mongodump
zaakceptuje --query
parametr na wypadek, gdybyś potrzebował częściowego kopię Twojej kolekcji.