# mongoose-seed

> Seed data population for Mongoose

Latest version **0.6.0** (published 2019-02-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install mongoose-seed
pnpm add mongoose-seed
yarn add mongoose-seed
bun add mongoose-seed
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.0 |
| Published | 2019-02-24 |
| First published | 2015-06-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 14.8 KB |
| Known vulnerabilities | 0 (+2 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 52 |
| Author | Sean Emmer |
| Maintainers | seanemmer |
| Keywords | mongoose, seed, mongo, mongodb, node, node.js, MEAN, MEAN.js, MEAN.io |

## Links

- npm: https://www.npmjs.com/package/mongoose-seed
- Repository: https://github.com/seanemmer/mongoose-seed
- Homepage: https://github.com/seanemmer/mongoose-seed#readme
- Issues: https://github.com/seanemmer/mongoose-seed/issues
- npm.io page: https://npm.io/package/mongoose-seed

## Dependencies (4)

- [path](https://npm.io/package/path.md) ~0.12.7
- [async](https://npm.io/package/async.md) ~2.6.1
- [chalk](https://npm.io/package/chalk.md) ~2.4.2
- [lodash](https://npm.io/package/lodash.md) ~4.17.11

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 0.6.0 (latest) — 2019-02-24
- 0.5.1 — 2018-07-30
- 0.5.0 — 2018-06-05
- 0.4.1 — 2017-12-26
- 0.4.0 — 2017-10-24
- 0.3.2 — 2017-04-05
- 0.3.1 — 2016-08-16
- 0.3.0 — 2016-08-01
- 0.2.0 — 2016-07-21
- 0.1.5 — 2015-06-09
- 0.1.4 — 2015-06-02
- 0.1.3 — 2015-06-02
- 0.1.2 — 2015-06-02
- 0.1.1 — 2015-06-02
- 0.1.0 — 2015-06-02

## README

# mongoose-seed

mongoose-seed lets you populate and clear MongoDB documents with all the benefits of Mongoose validation

## Basic example

```javascript

var seeder = require('mongoose-seed');

// Connect to MongoDB via Mongoose
seeder.connect('mongodb://localhost/sample-dev', function() {

  // Load Mongoose models
  seeder.loadModels([
    'app/model1File.js',
    'app/model2File.js'
  ]);

  // Clear specified collections
  seeder.clearModels(['Model1', 'Model2'], function() {

    // Callback to populate DB once collections have been cleared
    seeder.populateModels(data, function() {
      seeder.disconnect();
    });

  });
});

// Data array containing seed data - documents organized by Model
var data = [
	{
		'model': 'Model1',
		'documents': [
			{
				'name': 'Doc1',
				'value': 200
			},
			{
				'name': 'Doc2',
				'value': 400
			}
		]
	}
];
```

## Methods

### seeder.connect(db, [callback])

Initializes connection to MongoDB via Mongoose singleton.

---------------------------------------

### seeder.loadModels(filePaths)

Loads mongoose models into Mongoose singleton.  *Only Models that have been loaded can be cleared or populated.*

---------------------------------------

### seeder.clearModels(modelArray, [callback])

Clears DB collection specified by each model in modelArray.  Callback is executed after DB is cleared (useful for populateModels method)

---------------------------------------

### seeder.populateModels(dataArray, [callback])

Populates MongoDB with documents in dataArray.  dataArray consists of objects with 'model' and 'documents' keys, where 'documents' is an array of valid collection documents.  Note that Mongoose Schema validation *is* enforced.

---

### seeder.disconnect()

Disconnects mongoose db-handle. Use it inside `populateModels` callback to cleanly exit the program
(see example above).

---

### seeder.setLogOutput(logOutput)

Disables or enables calls to `console.log`. If `false` is passed, only errors will be print to console.

---
_Source: https://npm.io/package/mongoose-seed · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
