]
});
`
examples
--------
`javascript
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
fixtures = require('node-mongoose-fixtures');
// User
var userSchema = new Schema({
username: String,
password: String
});
mongoose.model('users', userSchema);
// Book
var bookSchema = new Schema({
title: String
});
mongoose.model('books', bookSchema);
// Create dataset immediately
fixtures({
users: [
{username: 'one', password: 'pass'},
{username: 'two', password: 'pass'}
],
books: [
{title: 'Enders Game'},
{title: 'Speaker of the Dead'}
]
}, function(err, data) {
// data is an array of all the documents created
});
// Name a dataset for future use
fixtures.save('users', {
users: [
{username: 'one', password: 'pass'},
{username: 'two', password: 'pass'}
]
});
// Use the named dataset
fixtures('users', function(err, data) {
// Again, data is an array of all documents created
});
`
api
---
$3
fixtures(dataset, , );
Immediately creates the documents from the dataset through the mongoose connection.
* dataset can be a hash or a name of a named fixture.
* mongoose instance is optional and is a singular instance of mongoose.
* callback is an optional function when the action is complete. It's parameters are callback(error, data documents). Both arguments are arrays. The data documents are mongoose documents from the fixture data.
$3
fixtures.save(name, dataset, );
Save a fixture to be used for later.
* name is the name of your new named fixture.
* dataset is the hash of the dataset you want to save.
* callback is an optional function when the action is complete. It's parameters are callback(err, old fixtures). The old fixtures are what you've overwritten.
$3
fixtures.get(name, );
Retrieves a named fixture's dataset. If callback is omitted, this will simply return the named fixture's dataset.
* name is the name of the named fixture you wish to retrieve.
* callback is an optional function when the action is complete. It's parameters are callback(err, dataset).
$3
fixtures.clear(, );
Clears named fixtures.
* name is optional. It's the name of the named fixture. If omitted, all named fixtures will be cleared.
* callback is an optional function when the action is complete. It has no parameters.
$3
fixtures.reset(, , );
Deletes all documents within a collection.
* model name is optional. It's the name of the collection. If omitted, all collections will be purged.
* mongoose instance is optional and is a singular instance of mongoose.
* callback is an optional function when the action is complete. It's parameters are the same as the callback from mongoose.Model.remove()`
support
-------
Donations are welcome to help support the continuous development of this project.
[![Flattr][flattr-image]][flattr-url]
[![Bitcoin][bitcoin-image]][bitcoin-url]
[flattr-url]: https://flattr.com/submit/auto?user_id=kennethkl&url=https://github.com/kennethklee/node-mongoose-fixtures&title=node-mongoose-fixtures&language=&tags=github&category=software
[flattr-image]: http://img.shields.io/badge/flattr-donate-green.svg?style=flat-square
[bitcoin-image]: http://img.shields.io/badge/bitcoin-1L9EhwhiSTPtEoXeGDBABRXmEJwovwkWpk-green.svg?style=flat-square
[bitcoin-url]: https://www.coinbase.com/checkouts/5653371de64aa773f372a1e33c569095?name=node-mongoose-fixtures