Я хотел бы создать объект mongodb, у которого будет дополнительный метод для создания Collection после подключения.
У меня есть что-то вроде этого (mongo.js):
import url from 'url';
import { MongoClient } from 'mongodb';
const getDbName = mongourl => {
const mongoPathName = url.parse(mongourl).pathname;
return mongoPathName.substring(mongoPathName.lastIndexOf('/') + 1);
}
export let db = null;
(async function() {
const dbURL = process.env.MONGO_URL;
const dbName = getDbName(dbURL);
const client = new MongoClient(dbURL, { useNewUrlParser: true });
try {
await client.connect();
db = client.db(dbName);
} catch (err) {
console.log(err);
}
})();
и если я хотел бы подключиться к БД, я просто делаю это:
import { db } from './libs/mongo';
НО мой вопрос: как добавить дополнительный метод, где я могу создать коллекцию после подключения к БД?Я хотел бы получить что-то вроде этого:
import { db } from './libs/mongo';
db.then(() => { // if db is connected ->
//createCollection or something else
})
Я хотел бы сделать это с Promise, но я не знаю, как.Я хотел бы использовать эту библиотеку по крайней мере в двух местах.В 1 соединяем с базой, во втором (отдельно) соединяем и создаем коллекции (настройка)