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

267
Views
"$búsqueda con 'canalización' puede no especificar 'localField' o 'foreignField'"

Soy nuevo en mongoose y mongoDB, tengo la siguiente consulta, que cuando se ejecuta arroja el error de seguimiento. Sería genial si alguien pudiera ayudarme a manejar el problema y aún así obtener el mismo resultado.

 //interview.model.js => mongodb show name as interview module.exports = mongoose.model('Interview', interviewSchema); //candidate.model.js => mongodb show name as candidate module.exports = mongoose.model('Candidate', candidateSchema); const [result, err] = await of(Interview.aggregate([ { $match: { ...filterQuery, } }, { $lookup: { 'from': 'candidates', 'localField': 'candidateId', 'foreignField': '_id', 'as': 'candidateId', pipeline: [ { $match: { 'candidateId.interviewCount': 0 }}, { $project: { firstName:1, status:1, avatar:1 } } ] } }, ]))
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

MongoDB 4.4 o versiones inferiores :

Puede usar cualquier sintaxis de $lookup desde 1) localField/ForeignField o 2) búsqueda con canalización,

  • let a declarar un ID de candidateId variable, puede usar este ID dentro de pipeline , que se llama localField
  • coincidencia de expresión de inserción de pipeline usando $expr y $eq porque estamos haciendo coincidir campos internos
  • La referencia $$ permitirá usar variables en la canalización que se declara let
 const [result, err] = await of(Interview.aggregate([ { $match: { ...filterQuery } }, { $lookup: { 'from': 'candidates', 'as': 'candidateId', 'let': { candidateId: "$candidateId" }, 'pipeline': [ { $match: { $expr: { $eq: ["$$candidateId", "$_id"] }, 'candidateId.interviewCount': 0 } }, { $project: { firstName:1, status:1, avatar:1 } } ] } } ]))

MongoDB 5.0 o versiones superiores :

Su consulta se ve bien según la última versión de mongodb. Puede actualizar su versión de mongodb a la última versión de mongodb.

over 4 years ago · Santiago Trujillo Report

0

0

Con la canalización dentro de $búsqueda, no puede usar localField o outsideField. Consulte la documentación de MongoDB para ver la sintaxis y un ejemplo aquí ...

over 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!