Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

175
Visualizações
Ejecutar consultas complicadas sin procesar con secuela

Tengo un problema peculiar. Tengo una consulta conjunta debido a la distribución de datos en varias tablas. Quiero ejecutar esto como consulta sql sin procesar usando el módulo de nodo para secuenciar, ya que mucho código existente está asociado usando secuencializar orm. No quiero usar orm aquí, sino solo una consulta sin procesar.

 SELECT testmodel.bacode, testmodel2.paopkey from (SELECT ptr.paopkey as paopkey, psgkey.pskey from (SELECT * FROM pts where paopkey = 4 and ptr_active = 1) ptr, pt_sg psgkey where ptr.pkey = psgkey.pkey) testmodel2, pt_act testmodel where testmodel.pskey = testmodel2.pskey;

Cualquier consejo si la consulta anterior se puede ejecutar como una consulta sin procesar y los datos se pueden capturar como resultado. Además, cuando ejecuto el siguiente código con el siguiente código de secuencia, aparece el error "_sequelize.default.query no es una función"

 import Sequelize from 'sequelize'; async function getTestDataList(opcoKey) { const testdata = await Sequelize.query(`SELECT testmodel.bacode, testmodel2.paopkey from (SELECT ptr.paopkey as paopkey, psgkey.pskey from (SELECT * FROM pts where paopkey = 4 and ptr_active = 1) ptr, pt_sg psgkey where ptr.pkey = psgkey.pkey) testmodel2, pt_act testmodel where testmodel.pskey = testmodel2.pskey;`, { type: Sequelize.QueryTypes.SELECT }).then(function (results) { // SELECT query - use then }) return toPlain(testdata); }

El código Dbclient que usa la instancia de secuenciación es el siguiente

 import config from 'config'; import Sequelize from 'sequelize'; class DataSource { constructor() {this.DBclient = null; } initializeDB(dbCredentials) { const dataSource = config.datasource; const options = { host: "127.0.0.1", dialect: dataSource.dialect, port: dataSource.port, logging: false, }; const { password } = dbCredentials || dataSource; this.DBclient = new Sequelize( dataSource.database, "root", "root", options, ); } getDBClient() { return this.DBclient; }}export default new DataSource();
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe almacenar una conexión Sequelize creada y usarla para llamar al método de query :

 const sequelize = new Sequilize(connection_options_here) const testdata = await sequelize.query(`SELECT testmodel.bacode, testmodel2.paopkey from (SELECT ptr.paopkey as paopkey, psgkey.pskey from (SELECT * FROM pts where paopkey = 4 and ptr_active = 1) ptr, pt_sg psgkey where ptr.pkey = psgkey.pkey) testmodel2, pt_act testmodel where testmodel.pskey = testmodel2.pskey;`, { type: Sequelize.QueryTypes.SELECT })

Lo then en el código anterior porque no es necesario, por lo que usa await .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda