Jump to content
AlessandroAOM

NodeJs TypeError: is not a function

Recommended Posts

Pessoal estou implementando uma classe em JS usando o Nodejs e estou recebendo  a mensagem "TypeError: categoriasDAO.inserirCategoria is not a function"

 

o arquivo da classe segue

//Categoria DAO

function categoriasDAO(connection){

    this._connection = connection();

}



categoriasDAO.prototype.inserirCategoria = function(categoria){

    this._connection.open(function(err, mongoclient){

        mongoclient.collection("categorias", function(err, collection){

            collection.insert(categoria);

            mongoclient.close();

        });

    });

}



module.exports = function(){

    return categoriasDAO;

}

eu estou chamando ela no arquivo server.js apenas para testar  o procedimento.

'use strict'
require('dotenv').config()
const express = require('express');
const path = require('path');
const app = express();
var cookieParser = require('cookie-parser'); 
const session = require('express-session')
const bodyParser = require('body-parser');
const sessionStore = require('./config/promiseConnection');
const connection = require('./config/dbConnection');

var categoriasDAO = require('./models/categoriasDAO');
categoriasDAO = new categoriasDAO(connection);
console.log(categoriasDAO) ;
categoriasDAO.inserirCategoria({categ: "Nova",
                                descricao : "Nova categoria" }
                           );

quando ele vai executar a ultima linha acima ele gera a mensagem de erro.

C:\Users\Alessandro.Oliveira\Documents\VsStudio\Nodejs\novopassportestudar\server.js:14
categoriasDAO.inserirCategoria({categ: "Nova",
              ^

TypeError: categoriasDAO.inserirCategoria is not a function

 

O que estou fazendo de errado ou o que falta fazer?

 

Obrigado!

 

Share this post


Link to post
Share on other sites

tenta exportar só assim:
 

module.exports = categoriasDAO

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Renato Fonte
      Olá, Amigos (as),
              
      Este código (abaixo) é de um Site Imobiliário. Esta é a página (html) de edição e inclusão de dados e fotos dos imóveis no Painel Admin.
      Durante muito tempo, no navegador Chrome, o Botão para Upload das Fotos, simplesmente deixava de aparecer.
      Mas ao configurar site, permissões, javascript - permitir, o botão voltava à aparecer.
      Porém, há alguns dias essa ação não funciona mais, em navegador nenhum. Não aparece mais o botão.
              
       Pode ter sido função PHP, Query ou Json que se tornou obsoleta?
              
      Tentei varias ações mas não consigo encontrar o erro para atualizar.
              
      DOCUMENTAÇÃO JS:
      https://jclareteimoveis.com.br/app/helpers/uploadfy/js/jquery.uploadify.v2.1.4.min.js
      https://jclareteimoveis.com.br/app/helpers/uploadfy/js/swfobject.js
       
      Conto com a ajuda de vocês para me salvar dessa!
       
      Obrigado à todos!
       
       
      <link href="helpers/uploadfy/css/uploadify.css" type="text/css" rel="stylesheet" />
              <script type="text/javascript" src="helpers/uploadfy/js/swfobject.js"></script>
              <script type="text/javascript" src="helpers/uploadfy/js/jquery.uploadify.v2.1.4.min.js"></script>        
      <script>
                  $(document).ready(function() {                
                      $('#fupload').uploadify({
                          'uploader'  : 'helpers/uploadfy/js/uploadify.swf',
                          'script'    : '[baseUri]/admin/uploadr/[item_id]/',
                          //'cancelImg' : 'helpers/uploadfy/js/cancel.png',
                          'cancelImg' : 'images/icons/cancelb.png',
                          'folder'    : 'app/fotos',
                          'auto'      : true,
                          'multi'     : true,
                          'buttonText'  : 'Upload',
                          'sizeLimit'   : 25002400,
                          'width'       : 275,
                          'height'       : 40,  
                          //'queueSizeLimit' : 10,
                          'uploadLimit' : 1,
                          'fileExt'     : '*.jpg;*.gif;*.png;*.bmp;*.jpeg',
                          'fileDesc'    : 'Imagens (JPG, GIF, PNG, BMP)',
                          //'buttonImg'   : 'helpers/uploadfy/upload.png',
                          'buttonImg'   : 'images/icons/uploadr.png',
                          'onAllComplete': function(event, queueID, fileObj,response){
                              reloadFotoBind();
                          },
                          'onComplete': function(event, queueID, fileObj,response){                        
                              var response = $.parseJSON(response);
                              $(response).each(function(k,v){
                                  if(v.id != 'error'){
                                      $('<li id="li_'+v.id+'"><img src="[baseUri]/thumb/'+v.url+'/130/100/" id="img_'+v.id+'"/></li>').appendTo('#photo-gallery-ul');
                                  }else{
                                      $('<li>erro</li>').appendTo('#photo-gallery-ul');
                                  }
                              })
                              //window.location = '[baseUri]/admin/item/editar/[item_id]/fotos/';
                          }            
                      })
                  })
              </script> 
              
              
              <input id="fupload" name="upload" type="file" class="hide" />
              
    • By Tecnix
      Preciso de ajuda para colocar uma função IF - Else no código abaixo, meu objetivo é que essa parte do código só possa rodar quando eu apertar e segurar a tecla z, agradeceria muito se me ajudassem
      o código:
       
          "lock_new_victim": {
              "type": "origins:target_action_on_hit"
              "cooldown": 0,
              "entity_action": {
                  "type": "origins:and",
                  "actions": [
                      {
                          "type": "origins:execute_command",
                          "command": "tag @s add PuppeteerVictim",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID1 run data get entity @p[tag=Puppeteer] UUID[0]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID2 run data get entity @p[tag=Puppeteer] UUID[1]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID3 run data get entity @p[tag=Puppeteer] UUID[2]",
                          "permission_level": 2
                      },
                      {
                          "type": "origins:execute_command",
                          "command": "execute as @s at @s store result score @s VictimOwnerUUID4 run data get entity @p[tag=Puppeteer] UUID[3]",
                          "permission_level": 2
                      }
                  ]
              }
          },
    • By Felper
      Estou criando um jogo de avançar casas e não estou conseguindo somar os valores sorteados pelo dado. Quero fazer assim:
      let somadado=0;
      let valorsorteado=5;
      somadado=5;
      valorsorteado=3;
      somadado=8;
      valorsorteado=2;
      somadado=10;
       
      Assim por diante. 
       
    • By Fernando30
      Olá pessoal,
       
      Sou gestor na área de tecnologia já faz alguns anos e, como a maioria do pessoal que está na área, sofro muito com a falta de mão de obra. Sofremos muito com qualidade de fornecedores, confiança na prestação de serviços, etc. Na área de desenvolvimento isso se intensifica bastante.
      A demanda cresce vertiginosamente e devido a essa escassez, os projetos de tecnologia acabam tendo atrasos e falta de qualidade.
       
      Atualmente existem algumas plataformas de freelancers no mercado, mas todas com muita burocracia e custos altos para os prestadores.
       
      A ideia surgiu dessa problemática:
      Aliar uma plataforma totalmente gratuita, desburocratizada e democrática em que todos tenham acesso a desenvolvimentos de tecnologia diretamente com os profissionais da área.
        
      http://www.code4seasons.com
       
      Vocês poderiam me dar um feedback do que acharam por favor ?
    • By asacap1000
      Galera estou desenvolvendo uma aplicação na qual eu preciso mostrar as câmeras de monitoramento, as câmeras são da HIKVISION e tenho o link pronto pra mostrar porém sempre pede login e senha como mostra a imagem abaixo:

       
      Existe alguma forma de chamar essa tela e preencher via script 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.