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

157
Views
quiere agregar valores no sobrescribir react.js y mongoDB
function getFilterQuery() { const completedWorkState = WorkflowStates.findOne({title: 'Completed'}); const inProgressWorkState = WorkflowStates.findOne({title: 'In Progress'}); const identifiedWorkState = WorkflowStates.findOne({title: 'Identified'}); const completed = {workflowStateId: [completedWorkState._id]}; const inProgress = {workflowStateId: [inProgressWorkState._id]}; const identified = {workflowStateId: [identifiedWorkState._id]}; let finalQuery = { archived: false, boardId: {$in: boardIds}, listId: {$nin: [...managerListIds, ...unreportedListIds]}, createdAt: dateFilterQuery(), }; if (params.completed) finalQuery = {...finalQuery, ...completed}; if (params.inProgress) finalQuery = {...finalQuery, ...inProgress}; if (params.identified) finalQuery = {...finalQuery, ...identified}; console.log(`finalQuery:`, finalQuery); return finalQuery; }

Hola, tengo una pregunta sobre react.js y mongoDB. Si hace clic en la opción completada en el lado del cliente, el registro de la consola de finalQuery se ve a continuación.

 finalQuery:{ archived: false boardId: {$in: Array(0)} createdAt: undefined listId: {$nin: Array(0)} workflowStateId: ['ERTYUIIIIOPPCGVH'] }

Idealmente, si un usuario hace clic en varias opciones como en progreso o identificado, el flujo de trabajo StaeId de finalQuery debería verse como a continuación cuando la consola inicie sesión.

 workflowStateId: ['ERTYUIIIIOPPCGVH','asdasdasdasda','1231231dsxa']

Pero ahora mismo está sobrescrito. ¿Alguien sabe cómo solucionar esto?

Traté de cambiar los códigos

 if (params.completed) finalQuery = {...finalQuery, ...completed}; if (params.inProgress) finalQuery = {...finalQuery, ...inProgress}; if (params.identified) finalQuery = {...finalQuery, ...identified};

a

 if (params.completed) finalQuery.push(completed); if (params.inProgress) finalQuery.push(inProgress); if (params.identified) finalQuery.push(identified);

Pero obtuve un error que decía que finalQuery.push no es una función.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Debe concatenar la matriz en finalQuery.workflowStateId , pero solo usa la sintaxis de distribución de objetos para fusionar objetos. También debe usar la sintaxis de distribución de matriz para la matriz .workflowStateId que está anidada en un nivel más profundo.

 if (params.completed) finalQuery = { ...finalQuery, ...{ workflowStateId: [...(finalQuery.workflowStateId ?? []), ...completed.workflowStateId] } }
about 4 years ago · Juan Pablo Isaza 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!