1
0
Fork 0
cc-server-parent/packages/db-mongo/src/client/connection.ts

28 lines
854 B
TypeScript

import { Db, MongoClient } from 'mongodb';
const connStr = process.env.FAAS_MONGO_URL || 'mongodb://192.168.0.2:27017';
const dbName = process.env.FAAS_MONGO_DB || "faas";
export class MongoDBConnection {
private static isConnected: boolean = false;
private static db: Db;
public static getConnection(result: (connection: Db) => void) {
if (this.isConnected) {
return result(this.db);
} else {
this.connect((error: Error, db: Db) => {
return result(this.db);
});
}
}
private static connect(result: (error: Error, db: Db) => void) {
MongoClient.connect(connStr, { useNewUrlParser: true }, (err, client) => {
this.db = client.db(dbName);
this.isConnected = true;
return result(err, this.db);
});
}
}