Skip to content

Instantly share code, notes, and snippets.

@ogun
Created March 27, 2021 12:09
Show Gist options
  • Save ogun/4be127a191788927fdf45366c80a373b to your computer and use it in GitHub Desktop.
Save ogun/4be127a191788927fdf45366c80a373b to your computer and use it in GitHub Desktop.
Migrate MongoDB documents from one database to another database with same collection name
import logging
import asyncio
from motor.motor_asyncio import AsyncIOMotorClient
logging.basicConfig(level=logging.DEBUG, format="%(asctime)s|%(levelname)s|%(message)s")
async def main():
source_client = AsyncIOMotorClient("")
source_db = source_client.get_default_database()
destination_client = AsyncIOMotorClient("")
destination_db = destination_client.get_default_database()
collections = [
"COLLECTION_1",
]
for collection_name in collections:
documents = await source_db[collection_name].find({}).to_list(None)
await destination_db[collection_name].insert_many(documents, ordered=False)
if __name__ == "__main__":
logging.info("Started")
asyncio.run(main())
logging.info("Finished")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment