Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

223
Views
¿Cómo conectar ID de db a un valor de db en javascript?

Así que obtuve una función que se ejecuta cada X minutos/horas, cuando se ejecuta seleccionará un valor aleatorio de matriz de base de datos, cuando lo haga, el seleccionado obtendrá + 1. Seleccionado representa la cantidad de veces que se ha seleccionado la fila.

 id: 5 name: tom selected: 17 id: 8 name: tim selected: 12 id: 2 name: tombie selected: 5 id: 3 name: timbie selected: 4

Este es mi código del que capturo todos los valores de mi base de datos.

 function setValue (value) { console.log("Array", value); result_arr = Object.values(JSON.parse(JSON.stringify(value))); return result_arr; } console.log("arr", result_arr); db.connect(function(err) { db.query("SELECT * FROM developers", (err, result, fields) => { if (err) { console.log(err); } else { // selected = all.map(item => item.selected); console.log("result", result); setValue(result); console.log("value", setValue(result)); removeMax() } })

Digamos que hemos seleccionado: 5, 4, 12 y 17. 17 es el recuento seleccionado más alto, para evitar que gane más puntos seleccionados, me aseguro de que se eliminen los números más altos de la matriz. Una vez que se elimina el número más alto, barajo los números y seleccionará uno al azar.

 function removeMax() { const max = Math.max(result_arr.map(item => item.selected)); const newArr = result_arr.map(item => item.selected).filter(number => number !== max); var shufflearray = newArr[Math.floor(Math.random()*newArr.length)]; return shufflearray; }

Digamos que de la reproducción aleatoria obtengo 5. Ahora tengo que sumar + 1 a esto, por lo que 5 debe convertirse en 6.

En la función hola () tengo una instrucción If, todos los días a las 8 a.m. este código debe ejecutarse. Entonces, como dije, tengo que actualizar el valor seleccionado.

Aquí viene la pregunta: por lo general, haría ACTUALIZAR desarrolladores SET seleccionados = 6 DONDE id = 2. pero como tengo varias filas, esto no funcionará. Hoy puede ser Timbie, mañana puede ser Tim. ¿Cómo vinculo los valores seleccionados con sus ID?

 function hi() { window.setInterval(function(){ var date = new Date(); if (date.getHours() === 8 && date.getMinutes() === 0) { if (test) { db.query( `UPDATE developers SET selected = ? WHERE id = ${item.id} `,[selected, id], (err, result) => { if (err) { console.log(err); } else { res.send(result); } }); } } else { const abort = "abort" } }, 60000); }
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

En la función removeMax(), los datos se reducen para convertirse en una lista de los valores seleccionados . Debería conservar cada elemento, no solo la cantidad de veces que se selecciona.

Codigo original:

 function removeMax() { const max = Math.max(result_arr.map(item => item.selected)); const newArr = result_arr.map(item => item.selected).filter(number => number !== max); var shufflearray = newArr[Math.floor(Math.random()*newArr.length)]; return shufflearray; }

resultado original:

 var result_arr = [{'id': 1, 'selected': 10}, {'id': 2, 'selected': 5}, {'id': 3, 'selected': 15}, {'id': 4, 'selected': 7}] newArr = result_arr.map(item => item.selected) resulting newArr: [10, 5, 15, 7]

Después de eso, está eliminando el valor más grande. ¿Te das cuenta de cómo se han ido todas las identificaciones?

Si en cambio haces:

 newArr = result_arr.filter(item => item.selected !== max) resulting newArr: [{id: 1, selected: 10}, {id: 2, selected: 5}, {id: 4, selected: 7}]

Ahora que tiene una matriz de objetos, puede reorganizarlos como antes y luego acceder al número de seleccionados con item.selected y cada id con item.id.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!