npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@conpago/mongo-seeding-cli

v4.1.0

Published

The ultimate command line tool for populating your MongoDB database.

Downloads

196

Readme

Mongo Seeding

Mongo Seeding CLI

npm version Build Status codecov David David install size

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

  1. Follow the tutorial to define documents and collections to import.

  2. In order to seed your database with data from current directory using default configuration, run the following command:

    seed
  3. You can specify custom settings with command line parameters. The following example imports data from ./example/data directory using MongoDB connection URI mongodb://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 |