%PDF- %PDF-
Direktori : /proc/self/root/usr/local/lib/node_modules/node-mongoose-cli/ |
Current File : //proc/self/root/usr/local/lib/node_modules/node-mongoose-cli/README.md |
# mongoose-cli [](https://app.fossa.io/projects/git%2Bgithub.com%2Fmedve-dev%2Fnode-mongoose-cli?ref=badge_shield) A handy CLI for speeding up mongoose-related workflow. Generate model and migration files automatically, and seed data. ### NPM use ``` npm install -g node-mongoose-cli ``` This will give you the `mongoose` command. Type that to get the help page. ### 1. Make your first model with: ``` mongoose-cli generate model [model name] ``` ### 2. Set the Mongo URI (configurate) ``` mongoose-cli setUri 'mongodb://user:pass@localhost:27017/cli' ``` Now you can save to your DB, seed it, drop it, and probe it with one of the shells. ### 3. Use these commands **help:** Provides details for a command **seed:** Runs or Revert the seed **drop:** Drops some or all of the collections **generate:** Creates a model or migration or seed file ### 4. Easily connect to MongoDB and require models! You can require the models individually, or just require them all like so: ```javascript const db = require('./db'); // db.ModelName.find().then(res=>{}); //example ``` ## Docs #### Getting help ``` mongoose-cli help [command name] ``` Get details for a command. #### Initializing project ``` mongoose-cli init ``` Generates files and directory structure (triggered automatically when a model is generated). #### Setting MongoDB URI ``` mongoose-cli setUri <uri> ``` Tells mongoose where the MongoDB is. Give it a mongo connection string, e.g. `mongodb://user:pass@localhost:27017/db`. If you need to dynamically determine the URI (e.g. have it depend on an enviroment variable), then you should directly edit the `db/connection-config.js` file instead. #### Creating models ``` mongoose-cli generate model <model name> ``` ##### Example ```bash # JavaScript data types mongoose-cli generate model user ``` generates this model file called `User.js`: ```javascript ... module.exports = mongoose.model('User', UserSchema); ``` Seeders -- #### Create seed ``` mongoose-cli generate seed <model name> ``` #### Start seed for model ``` mongoose-cli seed run <name-model> ``` or all seeders ``` mongoose-cli seed run all ``` #### Revert seed for model ``` mongoose-cli seed undo <name-model> ``` or all seeders ``` mongoose-cli seed undo all ``` #### Migrations ``` mongoose-cli generate migration <model name> ``` MongoDB doesn't technically need migrations since the schema is in the application layer. However, if similar operations need to be done on many documents in a collection, a migration file is a convenient place to do that. These files are just scripts with the model required in them. ```javascript const mongoose = require('mongoose'); let User = require('../models/User.js'); // manipulate your data here User.find({}) .then(results => { // you migration actions console.log(results); mongoose.connection.close(); }); ``` Once generated and editted, they need to be run manually, e.g. `node db/migrations/User-1447177237834.js`. #### Drop collections ``` mongoose-cli drop [model names] ``` Use this command to empty a collection or several. Drop all collections with no arguments. ## License [](https://app.fossa.io/projects/git%2Bgithub.com%2Fmedve-dev%2Fnode-mongoose-cli?ref=badge_large)