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

306
Visualizações
Error de guardado del activador programado de MongoDB: ¿qué devolver?

Este problema es muy molesto. Entonces, estoy haciendo una ejecución de activación programada cada 24 horas. Simplemente obtiene elementos de una colección, procesa algunos datos y luego agrega información a otra colección. El código de funcionamiento funciona incluso cuando se ejecuta la función. ¿Pero no me deja guardar porque hay errores de "tiempo de ejecución"? A pesar de que fue ejecutado perfectamente y devuelto.

Error de consola

 > result (JavaScript): EJSON.parse('{"$undefined":true}')

Supongo que esto tiene algo que ver con el regreso. pero cuando vuelvo null me sale esto:

 > result: null > result (JavaScript): EJSON.parse('null')

al intentar guardar me sale esto en la parte superior de la página:

 runtime error during function validation

Código de función:

 exports = async function() { const usersCol = context.services.get("SchoologyDashCluster").db("SchoologyDashApp").collection("users"); const gradesCol = context.services.get("SchoologyDashCluster").db("SchoologyDashApp").collection("grades"); var usersCusor = await usersCol.find( ).toArray(); var gradesCusor = await gradesCol.find( ).toArray(); let insert = []; for (let i = 0; i < usersCusor.length; i++) { var user = usersCusor[i]; var userSavedGrades = gradesCusor[i].grades var currentGrades = await getGrades(user.schoologyUID, user.consumerKey, user.secretKey); var lastGraded = NaN; let index = gradesCusor[i].grades.length - 1; while (true) { if (gradesCusor[i].grades[index].changed == 1) { lastGraded = index; break } index = index - 1; } console.log(lastGraded) if (userSavedGrades[lastGraded].grades.ga == currentGrades.ga){ currentGrades = { changed : 0, time: new Date().getTime()}; } else { currentGrades = {changed : 1, grades: currentGrades, time : new Date().getTime()}; } gradesCol.updateOne( {"user" : user._id}, {"$push" : {"grades" : currentGrades}} ) } // return usersCol.find( ); return null; };
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La respuesta era simple y ahora me siento ignorante. Instintivo pongo el módulo imports en la parte superior del documento. Sin embargo, esto es incorrecto y deben colocarse en la función de exportación, así:

 exports = function (x,y,z) { const http = context.http; return; }
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