Fiz uma mudança no código, uma ideia que eu pensei e implementei na conexão com o MongoDB. A professora ensinou a chamar a string de conexão com o banco de dados dentro do arquivo dbConnect.js, mas, a string de conexao é uma parte sensivel do nosso banco e nao deve ser enviado para o repositorio. Para resolver isso, eu deixei a string de conexao em um arquivo separado e importei no dbConnect.js.
1: criei um arquivo separado chamado stringDeConexaoMongoDB.
2: criei uma função nova dentro desse arquivo e acrescentei a string de conexao dentro dela
3: exportei a função do novo arquivo e importei dentro do dbConnect.js
4: Fiz os teste e a conexão com o banco foi realizada com sucesso, após isso eu subi as alteraçoes para meu GitHub e tudo ok como esperado, com o arquivo stringDeConexaoMongoDB sendo ignorado.
Meus codigos ao final ficou assim:
dbConect.js:
/*
- Nesse arquivo usaremos a string de conexão com o MongoDB, mas a
string de conexao está em outro arquivo, por ser uma parte sensivel.
*/
//chamando a biblioteca mongoose para a conexao com o banco de dados funcionar
import mongoose, { mongo } from "mongoose";
//chamando a string de conexao, dentro de um arquivo separado por ser um conteudo sensivel
import stringDeConexaoBancoMongoDB from "./stringDeConexaoMongoDB.js";
async function conectaNaDataBase() {
//retornando a função que contém a string de conexao, dentro de um arquivo separado por ser um conteudo sensivel
//a string de conexao está no arquivo stringDeConexaoMongoDB.js
stringDeConexaoBancoMongoDB();
return mongoose.connection;
}
export default conectaNaDataBase;
//FIM DA PAGINA dbConnect.js
novo arquivo, stringDeConexaoMongoDB.js :
/*
- Nesse arquivo conterá a string de conexão com o MongoDB, que será usada para conectar a aplicação com o banco de dados.
- Salvando nesse arquivo a string de conexao para acrescentar ao .gitignore e evitar que essa parte sensivel vá para o repositório.
- Ao precisar usar a string de conexao, só chamar a função stringDeConexaoBancoMongoDB no arquivo dbConnect.js
*/
//chamando a biblioteca mongoose para a conexao com o banco de dados funcionar
import mongoose from "mongoose";
//salvei a string de conexao em uma variavel para poder exportar e importar em outros arquivos
async function stringDeConexaoBancoMongoDB() {
//string de conexão com o MongoDB, colocar aqui dentro
//ex: mongoose.connect("aqui dentro a chave");
return mongoose.connection;
}
//exportando a função que contém a string de conexão para chamar no arquivo dbConnect.js
export default stringDeConexaoBancoMongoDB;
//FIM DA PAGINA stringDeConexaoMongoDB.js
Arquivo app.js mantive como em aula.
Uma outra forma de implementar a mesma ideia de ignorar arquivos sensiveis, é utilizar a biblioteca .env, na aula ensina isso. Mas essa forma que eu fiz, foi por conta propria, fui pensando na logica ate montar e deu certo.