Closed pecourses closed 3 years ago
https://github.com/dmitriyPruss/mongoPhones/blob/de7a334af2554e75afcf8377999173b2ae99647f/controllers/cpuController.js?_pjax=%23js-repo-pjax-container%2C%20div%5Bitemtype%3D%22http%3A%2F%2Fschema.org%2FSoftwareSourceCode%22%5D%20main%2C%20%5Bdata-pjax-container%5D#L60
монгус также позволяет работать с aggregate, как и mongo () Например, тут, как я понимаю, что-то типа такого подразумевается (только поля не все убраны):
// READ module.exports.getPhonesByCPU = async (req, res, next) => { try { if (req.query.processorId) { const { query: { processorId } } = req; const [foundCPUWithPhones] = await CPU.aggregate([ { $match: { _id: Number(processorId) } } ]).lookup({ from: 'phones', localField: '_id', foreignField: 'CPU_id', as: 'phones' }); if (foundCPUWithPhones) { return res.status(200).send({ data: foundCPUWithPhones }); } next(createErr404); } else { next(); } } catch (error) { next(error); } };
Источники: https://mongoosejs.com/docs/api/model.html#model_Model.aggregate https://mongoosejs.com/docs/api/aggregate.html#aggregate_Aggregate-lookup
https://github.com/dmitriyPruss/mongoPhones/blob/de7a334af2554e75afcf8377999173b2ae99647f/controllers/cpuController.js?_pjax=%23js-repo-pjax-container%2C%20div%5Bitemtype%3D%22http%3A%2F%2Fschema.org%2FSoftwareSourceCode%22%5D%20main%2C%20%5Bdata-pjax-container%5D#L60
монгус также позволяет работать с aggregate, как и mongo () Например, тут, как я понимаю, что-то типа такого подразумевается (только поля не все убраны):