[英]How to remove a field from field that is being populated mongoose
所以
async findAll(req, res) {
await WorkModel.find({})
.sort('when')
.populate({path: 'artists', populate: { path: 'categories'}})
.then(response => {
return res.status(200).json(response);
})
.catch(error => {
return res.status(500).json(error);
});
}
我需要在這個 function 中從人群中刪除作品是藝術家,但是當我嘗試像通過
{path: 'artists -works', populate: { path: 'categories'}}
我收到{}
響應,甚至在我嘗試時
{path: 'artists -works', populate: { path: 'categories'}}, '-works'
在人口
該方法只是得到一個stackTrace,我沒有線索rn,請幫幫我。
如果您想 select 僅works
於categories
集合中的字段,請使用填充。 您可以使用select
來做到這一點!
試試這個代碼,它對你有幫助! 如需更多幫助mongoosejs.com
async findAll(req, res) {
await WorkModel.find({})
.sort('when')
.populate({path: 'artists', populate: { path: 'categories', select: 'works'}})
.then(response => {
return res.status(200).json(response);
})
.catch(error => {
return res.status(500).json(error);
});
}
因此,將作品從藝術家的多對多關系中刪除的解決方案是
async findAll(req, res) {
await WorkModel.find({})
.sort('when')
.populate({path: 'artists', select:'-works', populate: { path: 'categories'}})
.then(response => {
return res.status(200).json(response);
})
.catch(error => {
return res.status(500).json(error);
});
}
謝謝大家的意見,真的幫了大忙。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.