Tengo esta consulta de mangosta:
let rE = await cR.find({myid: "xxxxxx"}); ahora esta consulta arrojará múltiples resultados, en los que luego necesito consultar otro modelo basado en rE.class_id , que se devuelve a través de rE , la consulta anterior. Así que hago esto:
let cla = await Cl.find({_id: rE.class_id}); sin embargo, eso obviamente no funciona porque rE.class_id se devuelve como varios objetos, por lo que colocar rE.class_id simplemente no funcionará. ¿Cómo puedo hacer que esto funcione?
Si está tratando de obtener todos los modelos Cl donde _id = (classIds of models rE), puede probar este:
let rE = await cR.find({myid: "xxxxxx"}); const classIds = rE.map(r => r.classId); let cla = await Cl.find({_id: {$in: classIds}});const data = await cR.aggregagte([ { '$match': { myid: "xxxxxx" } }, { '$lookup': { 'from': 'rE', 'localField': 'authorId', 'foreignField': '_id', 'as': 'cla' } } ]);