UNPKG

giganet_conecta

Version:

Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql, Mongo e Elasticsearch).

44 lines (37 loc) 1.2 kB
const { createConnection } = require("mongoose"); module.exports = async function ({ user, pass, host, port, db, authSource = null, }) { try { if (!user || !pass || !host || !port || !db) throw new Error( `Erro ao conectar com o banco de dados (Mongo) ${db}: Dados de conexão não informados` ); const encodedUser = encodeURIComponent(user); const encodedPass = encodeURIComponent(pass); const connection_mongo = createConnection( host === "localhost" ? `mongodb://localhost:27017/${db}` : `mongodb://${encodedUser}:${encodedPass}@${host}:${port}/${db}${ authSource ? `?authSource=${authSource}` : "" }` ); connection_mongo.set("useCreateIndex", true); connection_mongo.on("error", (error) => { throw new Error(error instanceof Error ? error.message : error); }); return connection_mongo; } catch (error) { console.error( `Erro ao conectar com o banco de dados (Mongo) ${db}: ${ error instanceof Error ? error.message : error }` ); throw error instanceof Error ? error.message : error; } };