Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Curso ícone Nodejs: Autenticação, Passport e OAuth 2.0 Nodejs: Autenticação, Passport e OAuth 2.0

Estou no segundo video da aula 2 do curso e está dando erro abaixo para salvar a conta

TypeError: getDb is not a function at User.save (D:\2025_projetos\curso-node-oauth-projeto_inicial\models\user.js:13:20) at exports.signup (D:\2025_projetos\curso-node-oauth-projeto_inicial\controllers\index.js:23:20) at Layer.handle [as handle_request] (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\layer.js:95:5) at next (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\route.js:149:13) at Route.dispatch (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\route.js:119:3) at Layer.handle [as handle_request] (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\layer.js:95:5) at D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\index.js:284:15 at Function.process_params (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\index.js:346:12) at next (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\express\lib\router\index.js:280:10) at urlencodedParser (D:\2025_projetos\curso-node-oauth-projeto_inicial\node_modules\body-parser\lib\types\urlencoded.js:85:7)

Digitei o erro na IA da Alura, tentei fazer igual ela sugeriu mas o erro permanece

Alguem pode me ajudar?

4 respostas

Oi João! Tudo bem?

O erro "TypeError: getDb is not a function" geralmente indica que a função getDb não está sendo exportada corretamente ou não está definida no módulo que você está tentando usar.

Aqui estão algumas dicas que podem te ajudar a resolver esse problema:

  1. Verifique a Importação: Certifique-se de que você está importando a função getDb corretamente no arquivo onde está tentando usá-la. Por exemplo, se getDb está em um arquivo chamado database.js, você deve ter algo como:

    const { getDb } = require('./path/to/database');
    
  2. Verifique a Exportação: No arquivo onde getDb está definida, certifique-se de que ela está sendo exportada corretamente. Por exemplo:

    function getDb() {
        // lógica para obter a conexão com o banco de dados
    }
    
    module.exports = {
        getDb
    };
    
  3. Verifique o Caminho do Arquivo: Certifique-se de que o caminho para o arquivo onde getDb está definida está correto. Às vezes, erros de caminho podem causar esse tipo de problema.

Caso essas dicas não resolvam o problema, recomendo que upe todo o seu projeto no GitHub ou Drive do Google e compartilhe o link comigo, assim poderei testar o código para encontrar o problema.

Espero que essas dicas te ajudem a resolver o problema!

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Olá Armando, tudo bem e voce?

no item 1, o import está assim:

const getDb = require('../util/database')

Acredito que está correto com dois pontos no require para voltar no diretorio anterior

no item 2, na verdade "getDb" é um const e nao uma function, entao o código está diferente.


const getDb = () => {
  if (_db) {
    return _db;
  }
  throw 'No database found!';
};

exports.getDb = getDb;

vou subir o código para o github e compartilhar aqui

já agradeço pela ajuda

https://github.com/joaobfigueiredo/curso-node-oauth-projeto_inicial

solução!

Bom dia,

Rodei a versao da aula 2 e funcionou corretamente. Vou seguir no curso assim quando tiver tempo faço uma comparação para tentar descobrir a causa do erro.

Obrigado