2017-01-16 16:12:33 -08:00
|
|
|
import config from '../conf';
|
|
|
|
|
|
|
|
const uri = config.mongodb.user && config.mongodb.pass
|
2017-11-05 21:37:00 -08:00
|
|
|
? `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}`;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* monk
|
|
|
|
*/
|
|
|
|
import * as mongo from 'monk';
|
2017-01-16 16:12:33 -08:00
|
|
|
|
2017-01-16 17:39:21 -08:00
|
|
|
const db = mongo(uri);
|
2017-01-16 16:12:33 -08:00
|
|
|
|
|
|
|
export default db;
|
2017-11-05 21:37:00 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* MongoDB native module (officialy)
|
|
|
|
*/
|
|
|
|
import * as mongodb from 'mongodb'
|
|
|
|
|
|
|
|
let mdb: mongodb.Db;
|
|
|
|
|
|
|
|
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) => {
|
|
|
|
if (e) return reject(e)
|
|
|
|
resolve(db)
|
|
|
|
})
|
|
|
|
}))()
|
|
|
|
|
|
|
|
mdb = db
|
|
|
|
|
|
|
|
return db
|
|
|
|
}
|
|
|
|
|
|
|
|
export { nativeDbConn }
|