A modern and powerful CLI tool to import and export MongoDB collections to and from JSON and CSV files. Perfect for backups, migrations, and local development.
This tool was built to make MongoDB data management as simple and effective as possible:
- A step-by-step interactive prompt guides you through the entire import or export process with clear questions — no need to remember complex commands.
-
JSON — preserves full MongoDB fidelity (e.g.,
ObjectId
,Date
) - CSV — ideal for spreadsheets like Excel or Google Sheets
- Each export includes a
manifest.sha256
with checksums - During import, checksums are verified
- Ensures files haven’t been corrupted or tampered with
- Stream-based processing for JSON files
- Handles datasets of many gigabytes
- Keeps memory usage minimal — perfect for large-scale backups/migrations
- If no database is specified in your connection string:
- Connects to MongoDB server
- Lists all available databases
- Lets you choose interactively
-
upsert
: Replace if exists, insert if not -
skip
: Ignore documents that already exist -
insert
(default): Fail on duplicate_id
- Real-time progress bars per collection
- Clean and informative CLI output
- Helpful for long-running operations
Set default values and skip repetitive input:
DATA_FOLDER=./data
BATCH_SIZE=1000
LOG_LEVEL=debug
LOG_FILE=mongo_script_log.txt
Global (recommended for CLI usage):
npm install -g @kitapp-developers/mongo-import-export@latest
Local (as project dependency):
npm install @kitapp-developers/mongo-import-export@latest
Run the CLI:
mongo-import-export
Or use without global install:
npx mongo-import-export
The CLI will guide you through:
- Select Action: Import or Export
- MongoDB URI:
mongodb://user:password@host:port/
-
Select Format:
json
orcsv
-
Database Selection:
- If URI includes a DB, it's used
- Otherwise, select from list
For Import:
- Enter target DB name
- Choose whether to clear collections
- Choose conflict resolution strategy: Upsert / Skip / Insert
? Select action: Import data into a database
? Enter MongoDB connection URI: mongodb://localhost:27017
? Select data format: json
? Enter database name to import to: myNewDatabase
? Clear collections before importing? Yes
Optional .env
file for defaults:
DATA_FOLDER=./data
BATCH_SIZE=1000
LOG_LEVEL=info
LOG_FILE=mongo_script_log.txt
Place .env
in the same directory where you run the CLI.
- Node.js v20 or higher
- MongoDB server accessible via the provided connection URL
- Your smile 😊
MIT License