plus.garden.fixtures-mongo
mongo fixtures loader for plus.garden
this module uses https://github.com/powmedia/pow-mongodb-fixtures
Install
Install npm package
npm i plus.garden.fixtures-mongo --save
Add service to garden container
container.register('MongoFixtureLoaderModule', require('plus.garden.fixtures-mongo'));
Add config section to garden config
"fixtures-mongo": "uri": "mongodb://user:password@localhost:27017/dbname" "fixtures": "fixtures/mongo"
Create directory for storing fixtures
mkdir -p fixtures/mongo
Usage
Creating fixtures files:
FOR EXAMPLE: With the file below, 3 documents will be inserted into the 'users' collection and 2 into the 'businesses' collection:
//fixtures.js exportsusers = name: 'Gob' name: 'Buster' name: 'Steve Holt' ; exportsbusinesses = name: 'The Banana Stand' name: 'Bluth Homes' ;
You can also load fixtures as an object where each document is keyed, in case you want to reference another document. This example uses the included createObjectId
helper:
Note: install pow-mongodb-fixtures in project npm install pow-mongodb-fixtures --save
to use createObjectId
helper
//users.js var id = createObjectId; var users = exportsusers = user1: _id: name: 'Michael' user2: _id: name: 'George Michael' father: usersuser1_id user3: _id: name: 'Tobias'
commands:
./garden.js fixtures.load
./garden.js fixtures.drop
fixture.load
runs fixtures.drop
automatically