misskey-awawa/src/db/mongodb.ts

39 lines
803 B
TypeScript
Raw Normal View History

2017-01-17 00:12:33 +00:00
import config from '../conf';
const uri = config.mongodb.user && config.mongodb.pass
2017-11-06 05:37:00 +00: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-17 00:12:33 +00:00
2017-01-17 01:39:21 +00:00
const db = mongo(uri);
2017-01-17 00:12:33 +00:00
export default db;
2017-11-06 05:37:00 +00: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 }