mongo-seeding-cli v4.0.0
Mongo Seeding CLI
The ultimate CLI tool for populating your MongoDB database :rocket:
Define MongoDB documents in JSON, JavaScript or even TypeScript file(s). Import them with command line interface.
Installation
To install the app, run the following command:
npm install -g mongo-seeding-cli
Usage
- Follow the tutorial to define documents and collections to import.
In order to seed your database with data from current directory using default configuration, run the following command:
seed
You can specify custom settings with command line parameters. The following example imports data from
./example/data
directory using MongoDB connection URImongodb://127.0.0.1:27017/mydb
with option to drop database before import:seed -u 'mongodb://127.0.0.1:27017/mydb' --drop-database ./example/data
You can also use environmental variables to configure the CLI. For example:
DB_URI='mongodb://127.0.0.1:27017/mydb' DROP_DATABASE=true seed ./example/data
Full configuration options are described in Configuration section.
Configuration
You can configure data import with command line parameters or environmental variables.
Note: Command line parameters have always a higher priority over environmental variables.
Command line parameters
You can use the following parameters while using seed
tool:
Name | Default Value | Description |
---|---|---|
{PATH} | current directory | Path to directory containing import data |
--db-uri {URI} or -u {URI} | undefined | If defined, the URI will be used for establishing connection to database, ignoring values defined via other db-* parameters (e.g. db-name , db-host , etc.) |
--db-protocol {DB_PROTOCOL} | mongodb | MongoDB database protocol |
--db-host {DB_HOST} | 127.0.0.1 | MongoDB database host |
--db-port {DB_PORT} | 27017 | MongoDB database port |
--db-name {DB_NAME} | database | Name of the database |
--db-username {DB_USERNAME} | undefined | Username for connecting with database that requires authentication |
--db-password {DB_PASSWORD} | undefined | Password for connecting with database that requires authentication |
--db-options | undefined | MongoDB connection options in a form of multiple {key}={value} values, separated by semicolon. For example: ssl=true;maxPoolSize=50 |
--drop-database | false | Drops entire database before data import |
--drop-collections | false | Drops every collection which is being imported |
--remove-all-documents | false | Delete all documents from every collection that is being imported |
--replace-id | false | Replaces id property with _id for every document during data import |
--set-timestamps | false | Sets createdAt and updatedAt timestamps for every document during data import |
--reconnect-timeout | 10000 | Maximum time in milliseconds of waiting for successful MongoDB connection |
--ejson-parse-canonical-mode | false | Enables EJSON Canonical Mode for all parsed .json files. By default the EJSON Relaxed mode is enabled. |
--transpile-only | false | Disables type checking on TypeScript files import. This option vastly improves performance of TypeScript data import |
--silent or -s | false | Disables printing logging of Mongo Seeding status to standard output |
--help or -h | n/a | Help |
Environmental variables
You can use the following environmental variables while using seed
tool:
Name | Default Value | Description |
---|---|---|
DB_URI | undefined | If defined, the URI is used for establishing connection to database, ignoring values given in DB_* environmental variables (e.g. DB_HOST , DB_PORT , etc.). |
DB_HOST | 127.0.0.1 | MongoDB database host |
DB_PORT | 27017 | MongoDB database port |
DB_NAME | database | Name of the database |
DB_USERNAME | undefined | Username for connecting with database that requires authentication |
DB_PASSWORD | undefined | Password for connecting with database that requires authentication |
DB_OPTIONS | undefined | MongoDB connection options in a form of multiple {key}={value} values, separated by semicolon. For example: ssl=true;maxPoolSize=50 . |
DROP_DATABASE | false | Drops entire database before data import |
DROP_COLLECTIONS | false | Drops every collection which is being imported |
REMOVE_ALL_DOCUMENTS | false | Delete all documents from every collection that is being imported |
REPLACE_ID | false | Replaces id property with _id for every document during import; useful for ORMs |
SET_TIMESTAMPS | false | Sets createdAt and updatedAt timestamps for every document during data import |
RECONNECT_TIMEOUT | 10000 | Maximum time in milliseconds of waiting for successful MongoDB connection |
EJSON_PARSE_CANONICAL_MODE | false | Enables EJSON Canonical Mode for all parsed .json files. By default the EJSON Relaxed mode is enabled. |
TRANSPILE_ONLY | false | Disables type checking on TypeScript files import. This option vastly improves performance of TypeScript data import |
SILENT | false | Disables printing logging of Mongo Seeding status to standard output |
4 months ago
5 months ago
7 months ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago