diff --git a/config.json b/config.json index 0574d6e9cc2246ce45b4af102c92b4a082f42bcd..b145b5b7446a5f3189d0380210b7a33a4cbdfe29 100644 --- a/config.json +++ b/config.json @@ -9,6 +9,9 @@ "password":"monetdb", "nrConnections": "16" }, + "mongodb" : { + "uri": "mongodb://localhost/users" + }, "default": { "api": { "version" : "v1" diff --git a/package.json b/package.json index c52f7ce44841759385cfbb34ac239efffa98c154..a01bc76a323a76aab3e6a95a209472f27c507dcc 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "method-override": "^2.3.3", "mocha": "^2.5.3", "monetdb-pool": "0.0.8", + "mongoose": "^4.6.0", "nconf": "^0.6.x", "squel": "^5.4.2", "winston": "^2.2.0" diff --git a/src/libs/app.js b/src/libs/app.js index 992820c808ae9529ffc847c612506a7d453bfab7..8022c769b3557c3029b11edf46afe1235a596fcf 100644 --- a/src/libs/app.js +++ b/src/libs/app.js @@ -14,6 +14,12 @@ const app = express(); const api = require('./routes/api'); +const mongoose = require('./db/mongoose'); + +const db = mongoose(); + +process.env.NODE_ENV = process.env.NODE_ENV || 'development'; + app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); diff --git a/src/libs/db/mongoose.js b/src/libs/db/mongoose.js new file mode 100644 index 0000000000000000000000000000000000000000..13b3950da47638b2183ffb5e9c72dab41303c6d3 --- /dev/null +++ b/src/libs/db/mongoose.js @@ -0,0 +1,17 @@ +const libs = `${process.cwd()}/libs`; + +const config = require(`${libs}/config`); + +const log = require(`${libs}/log`)(module); + +const mongoose = require('mongoose'); + +module.exports = () => { + const mongoUri = config.get('mongodb:uri'); + log.debug(`Connecting to MongDB on URI ${mongoUri}`); + const db = mongoose.connect(mongoUri); + + mongoose.connection.once('open', () => { log.info("MongoDB connected"); }); + + return db; +};