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 } } ] } }, ])) 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 localFieldpipeline usando $expr y $eq porque estamos haciendo coincidir campos internos$$ 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 } } ] } } ]))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.