acneto.frc
Members-
Total de itens
32 -
Registro em
-
Última visita
Tudo que acneto.frc postou
-
Boa noite a todos. Uso Nodejs + express + Mysql O retorno abaixo é de retorno da Model quando consultado um registro :id Preciso extrair para duas variáveis diferentes a chave e o valor de um objeto javascripr. RowDataPacket { liv_codigo: 5, liv_titulo: 'Guia Mangá - Microprocessadores', liv_edicao: '1ª Edição', liv_isbn: '987-321', liv_ano: 2016, aut_codigo: 2, edt_codigo: 3, liv_ativoinativo: 'A' } Este retorno é resultado da uma consulta SQL de um registro (:id) na tabela Preciso armazenar em arrays diferentes a chave e o valor. Abraços e obrigado.
-
Bom dia Wanderval! Feliz Ano Novo a você e familiares. Que tenhamos um ano de saúde, vacina, felicidades e muito estudo. Por falar em estudo gostaria de uma sugestão para prosseguir com meus estudos. Conclui o curso que me recomendou: - APIs com Nodejs, Express + MongoDB, SQL - APIs com Nodejs + Express + Mongodb Os dois são fortes em Back-End e foi muito bom, agora gostaria de aplicar estes conhecimentos em Front-End React. Você saberia me indicar alguns cursos da Udemy para eu continuar os estudos. Abraços e obrigado!
-
Olá a todos! Estou modificando algumas funções que utilizam callback para utilizar asyn-await. Uso o padrão MVC. Meu problema é que chamo a função assíncrona na model ela é executada, não retorna erro mas não volta para o controller. Abaixo parte do código. arquivo routes.js const segurosRoutes = require('../controllers/segurosControllers.js'); module.exports = (app) => { app.get('/estagio/movimentacoes/cadastroSeguros', segurosRoutes.segurosGetAll); } arquivo controllers.js const segurosController = require('../models/segurosModels.js'); module.exports = { segurosGetAll, } function segurosGetAll(req, res){ console.log("Entrando em Controllers Seguros: ") segurosController.getAll(function (err, result){ if(err) { console.log("Erro: " + err) throw err; }else{ console.log("Resultado "+result) } }) } arquivo models.js const client = require('../../config/conexao.js'); const moment = require('moment'); module.exports = { getAll, } async function getAll() { m_sql = 'select A.*, B.seg_razaosocial, B.seg_nomefantasia, C.alu_nome, D.usu_username from seguros A left join seguradora B on A.seg_codigo = B.seg_codigo left join usuarios D on A.usu_codigo = D.usu_codigo left join alunos C on A.alu_codigo = C.alu_codigo '; console.log("SQL em Seguros...."+m_sql) console.log("-----------------------") let retorno try{ const retorno = await client.query(m_sql) console.log("Retornando da SQL: "+retorno) } catch(erro) { console.log(erro) retorno = erro } return retorno }
-
Verifiquei no link....tem muita coisa bacana pra poder implementar.. Obrigado! O que me diz sobre eu usar Classes neste meu projeto. Já trabalhei um pouco com Java POO nada muito profundo mas entendo sobre private, public. Tem alguma sugestão de bom material...vídeo aula, tutoriais, etc?
-
PROBLEMA RESOLVIDO! RETORNANDO RESOLVE. Troquei os parâmetros: return new Promise((resolve, reject) => { client.query(m_sql, function (error, response ) { if (error) { reject(error); console.log("\n Promise Rejeitada....") } else { resolve(response); console.log("\n Promise Resolvida....") } }); });
-
A model está como originalmente você postou. async function getAllCallback() { console.log('========== Seguros Get All Model =============') const m_sql = 'select A.*, B.seg_razaosocial, B.seg_nomefantasia, C.alu_nome, D.usu_username from seguros A left join seguradora B on A.seg_codigo = B.seg_codigo left join usuarios D on A.usu_codigo = D.usu_codigo left join alunos C on A.alu_codigo = C.alu_codigo '; console.log("SQL em Model...."+'\n'+m_sql); console.log("\n") return new Promise((resolve, reject) => { client.query(m_sql, function (response, error ) { console.log('Response: '+response); if (error) { reject(error); console.log("\n Promise Rejeitada....") } else { // resolve('Ok!'); resolve(response); console.log("\n Promise Resolvida....") } }); }); } response retorna null
-
sobre este parágrafo: seu problema parece ser muito simples, analise a ordem dos parâmetros, e no momento que o callback e setado no file conexão talvez a ordem esteja apenas invertida, isso explicaria estar sendo retornado o json. então bastaria trocar as posições dos parâmetros da function no model Eu não tenho nada no file de conexão apenas os parâmetros de conexão com o banco
-
Meu script de conexão é apenas para setar os parâmetros da conexão. /* / configurações de acesso ao banco de dados */ var mysql = require('mysql'); var client = mysql.createConnection({ user: 'root', password: 'toor', host: 'localhost', port: 3306, database: 'estagio' }); client.query('USE ' + database); module.exports = client; falta uma linha abaixo: var mysql = require('mysql'); var database = 'estagio';
-
Na verdade está caindo no rejeitado reject(error), mas está apresentando o conteúdo da consulta em formato Json
-
Claro que considero sim critica construtiva...obrigado E dúvidas sempre existirão ...verdade nunca acabam.... Já estou vendo aqui porque preciso abrir outra tabela...fazer outra chamada e o programa está reclamando..
-
Nunca comemorei tanto tomar uma dura..... Faltava retornar a Promise. Mas vou seguir com os estudos. Grato! Mas certo de que virão muitas outras dúvidas depois dessa. Abraços!
-
se for voltar a model como antes terei que modificar a chamada no controller function segurosCadastro(req, res){ segurosController.getAll(function (err, result){ console.log("Retorno de Seguros>... "+result[0]); var id = result[0].sal_codigo; e a model fica ficaria assim (usando callback) function getAll (callback) { m_sql = 'select * from seguros '; conexao.query(m_sql, callback); }
-
Bom dia! Me preocupo com a estrutura porque nessa mesma aplicação tenho diversos cadastros funcionando mas utilizando callback e em alguns programas que acessam diversas tabelas tenho callback hell, por isso estou focando na estrutura, então como outros programas realizam CRUD normalmente não penso que seja a LIB. Mas se é possível haver problemas por onde começar???
-
Bom dia! Em algum momento já tentei mostrar o conteúdo com "retorn[0]" mas retorna indefinido. Abaixo o retorno neste momento no console: GetAll Sql retornando: undefined ============== Retornando .... Seguros GetAll Controller!!! ==================== undefined
-
Dentro da Modelo tem um colsole.log para apresentar o retorno do await try{ retorno = await conexao.query(m_sql); console.log("GetAll Sql retornando: ") console.log("\n"+retorno) }catch(error) { throw new Error(error); } return retorno; e mostra no console : [object Object] TypeError: Converting circular structure to JSON Esse retorno eu não consigo manipular... E no navegador retorna: error: {} resultado da instrução abaixo do controller res.send(retorno)
-
Muito bem lá vai o código: routes: const segurosRoutes = require('../controllers/segurosControllers.js'); module.exports = (app) => { app.get("/estagio/movimentacoes/cadastroSeguros", segurosRoutes.segurosGetAll); }; controllers const segurosController = require('../models/segurosModels.js'); module.exports = { segurosGetAll, }; async function segurosGetAll(req, res) { console.log('============== Seguros GetAll Controller!!! ====================') try{ const retorno = await segurosController.getAll(); console.log('============== Retornando .... Seguros GetAll Controller!!! ====================') //console.log(JSON.stringify(retorno)); res.send(retorno); } catch (err){ console.log(err); res.json({error: err}) } } model const conexao = require('../../config/conexao.js'); module.exports = { getAll }; async function getAll() { console.log('========== Seguros Get All Model =============') const m_sql = 'select * from seguros '; console.log("SQL em Model Seguros...."+'\n'+m_sql); console.log("\n") let retorno; try{ retorno = await conexao.query(m_sql); console.log("GetAll Sql retornando: ") console.log("\n"+retorno) }catch(error) { throw new Error(error); } return retorno; } E agora está retornando: - no terminal GetAll Sql retornando: [object Object] TypeError: Converting circular structure to JSON - no browse: error : {} Me parece que [object Object] retornado no controller seja um conteúdo que não consegue apresentar.
-
O código do routes ficou assim: const segurosRoutes = require('../controllers/segurosControllers.js'); module.exports = (app) => { app.get("/estagio/movimentacoes/cadastroSeguros", segurosRoutes.segurosGetAll); }; Código do controllers: const segurosController = require('../models/segurosModels.js'); module.exports = { segurosGetAll, }; async function segurosGetAll(req, res) { console.log('============== Seguros GetAll Controller!!! ====================') try{ const retorno = await segurosController.getAll(); //console.log(JSON.stringify(retorno)); res.json(retorno); } catch (err){ console.log(err); res.json({error: err}) } } E a model: const conexao = require('../../config/conexao.js'); module.exports = { getAll }; async function getAll() { console.log('========== Seguros Get All Model =============') const m_sql = 'select * from seguros '; let retorno; try{ retorno = await conexao.query(m_sql); console.log("GetAll Sql retornando: ") console.log("\n"+retorno) }catch(error) { throw new Error(error); } return retorno; } E agora está retornando: - no terminal GetAll Sql retornando: [object Object] TypeError: Converting circular structure to JSON - no browse: error : {} Me parece que [object Object] retornado no controller seja um conteúdo que não consegue apresentar.
-
Fiz as correções recomendadas e agora apresenta a seguinte mensagem TypeError: Converting circular structure to JSON at JSON.stringify (<anonymous>) at segurosGetAll (/home/acneto/0-SistemasWeb/async_await/v03/api/controllers/segurosControllers.js:11:26) at process._tickCallback (internal/process/next_tick.js:68:7) 11:26 é o início da palavra stringify E no navegador apresenta: error: true. Parece que o que está retornando da model não pode ser "convertido" Caso faça console.log(retorno), apresenta um monte de informações.
-
Muito interessante essa plataforma para testar e compartilhar códigos.
-
Boa noite a todos! Em especial ao Wanderval! Modifiquei o código mas ainda sem sucesso. Agora recebo de retorno a resposta: undefined abaixo o controllers: const segurosController = require('../models/segurosModels.js'); module.exports = { segurosGetAll, } async function segurosGetAll(req, res) { console.log('Acessando Models!!!') try{ const retorno = await segurosController.getAll() console.log(JSON.stringify(retorno)) }catch (err){ console.log(err) } } abaixo a model. conexão é a instância mysql const conexao = require('../../config/conexao.js'); module.exports = { getAll, } function getAll() { m_sql = 'select * from seguros '; console.log("SQL em Model Seguros...."+'\n'+m_sql) conexao.query(m_sql); console.log("GetAll Sql retornando: ") }
-
Boas! Obrigado pela orientação e sugestão. Assisti ao vídeo e estou tentando implementar aqui. Assim que eu conseguir alguma coisa eu posto e retorno.
-
Fiz a correção da variável retorno (tirei o let de inicialização) e tirei o return também mas não sei se está tirar esta certo. Também me compliquei quando você diz "Seu Cenário" porque venho com a função informada no router para controller no controller dentro da função chamo a função assíncrona que está na model. --> router -> segurosGetAll --> controllers -> segurosController.getAll --> model --> async-await -> getAll Quanto a ler a respeito tenho feito isso a algum tempo executei diversos exercícios de postagens e vídeo aulas e agora estou tentando implementar na aplicação em produção. Pelas leituras entendi que quando usar async-await não usaria mais Promisses apesar do retorno dessas funções retornarem promisses. Caso tenha um tutorial ou qualquer material (exemplos) sobre o assunto e possa compartilhar tenho muito interesse. Não gostaria de sair da padrão MVC. Por enquanto muito obrigado.
-
Olá Wanderval obrigado por esta nos ajudando! Somos iniciantes no uso dessas funções por isso nossa insegurança. Ficou um pouco confuso/perdido onde deveremos fazer as modificações. Quais serão no controllers e quais na Model. Também me perdi onde será inserido async e onde será o await. Como assyn-await são para usar em funções assíncronas só fizemos referência a estas funções na Model que é onde efetivamente será feito o acesso assíncrono (mysql/servidor) no controller nada foi declarado. Obrigado! Neto
-
Retorna a mensagem do console.log dentro da model..Entrando.... depois a instrução executada em outro console.log, passa um traço e mostra [object Object] do outro console.log...É como se o retorno fosse indefinido Entrando em Controllers Seguros: SQL em Seguros....select A.*, B.seg_razaosocial, B.seg_nomefantasia, C.alu_nome, D.usu_username from seguros A left join seguradora B on A.seg_codigo = B.seg_codigo left join usuarios D on A.usu_codigo = D.usu_codigo left join alunos C on A.alu_codigo = C.alu_codigo ----------------------- Retornando da SQL: [object Object]
-
retorna um erro! Acusa erro no ponto(.) antes do then 16v é a linha do código que inicia a declaração da função. /home/acneto/0-SistemasWeb/PjEstagio/CodigoFonte/0_2020_2/10-Out/v_3.7.0.3-6-get_set/api/models/segurosModels.js:16 async function getAll().then((err, result) => {