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;
+};