node package manager

fh-db

FeedHenry Database Library

fh-db(1) -- The FeedHenry Database access library

Project Info
License: Apache License, Version 2.0
Build: npm
Documentation: http://docs.feedhenry.com/v3/api/cloud_api.html
Issue tracker: https://issues.jboss.org/projects/FH/summary
Mailing list: feedhenry-dev (subscribe)
IRC: #feedhenry channel in the freenode network.

This contains the fh.db() layer the works above the mongodb library. It has a Ditch-like interface, with the same actions and parameters

Add fh-db as a dependency to your module and require it where required, like any other npm module

N.B. This guide assumes you have a functional docker-machine.

Start the docker machine for the version of mongo you wish to test:

docker run -d -p 27017:27017 mongo:2.6

You will need to connect your localhost:27017 to the docker-machine:27017, do this with the following command:

VBoxManage controlvm `docker-machine active` natpf1 "docker-mongo,tcp,127.0.0.1,27017,,27017"

In the above docker-mongo is the name of the rule, this is important to remember, in order to remove it when not required.

Remove the above rule as follows:

VBoxManage controlvm `docker-machine active` natpf1 delete docker-mongo

connect to Mongo:

mongo

Well, instead of MongoDB 2.6 stated above if you used MongoDB 3.x, you will need to update the authentication to work with fh-db, which is done as follows:

use admin
db.system.users.remove({})
db.system.version.remove({})
db.system.version.insert({ "_id" : "authSchema", "currentVersion" : 3 })

Then exit mongo and restart the docker container:

docker stop <container-name>
docker start <container-name>

And reconnect to mongo:

mongo
use admin
db.createUser({user: 'admin', pwd: 'admin', roles: ['root']})

exit mongo and run:

mongo admin -u admin -p admin

Log in as the admin user, if you are not yet, then run:

use fh-ditch
db.createUser({user: 'ditchuser', pwd: 'ditchpassword', roles: ['dbAdmin']})

Exit Mongo and run:

mongo fh-ditch -u ditchuser -p ditchpassword
grunt fh:unit