summaryrefslogtreecommitdiff
path: root/src/db/mongodb.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/mongodb.ts')
-rw-r--r--src/db/mongodb.ts15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/db/mongodb.ts b/src/db/mongodb.ts
index c978e6460f..233f2f3d79 100644
--- a/src/db/mongodb.ts
+++ b/src/db/mongodb.ts
@@ -1,13 +1,16 @@
import config from '../conf';
-const uri = config.mongodb.user && config.mongodb.pass
-? `mongodb://${config.mongodb.user}:${config.mongodb.pass}@${config.mongodb.host}:${config.mongodb.port}/${config.mongodb.db}`
-: `mongodb://${config.mongodb.host}:${config.mongodb.port}/${config.mongodb.db}`;
+const u = config.mongodb.user ? encodeURIComponent(config.mongodb.user) : null;
+const p = config.mongodb.pass ? encodeURIComponent(config.mongodb.pass) : null;
+
+const uri = u && p
+ ? `mongodb://${u}:${p}@${config.mongodb.host}:${config.mongodb.port}/${config.mongodb.db}`
+ : `mongodb://${config.mongodb.host}:${config.mongodb.port}/${config.mongodb.db}`;
/**
* monk
*/
-import * as mongo from 'monk';
+import mongo from 'monk';
const db = mongo(uri);
@@ -24,9 +27,9 @@ const nativeDbConn = async (): Promise<mongodb.Db> => {
if (mdb) return mdb;
const db = await ((): Promise<mongodb.Db> => new Promise((resolve, reject) => {
- mongodb.MongoClient.connect(uri, (e, db) => {
+ (mongodb as any).MongoClient.connect(uri, (e, client) => {
if (e) return reject(e);
- resolve(db);
+ resolve(client.db(config.mongodb.db));
});
}))();