如何解决不包括 Strapi Mongoose Virtuals
系统
Node.js 版本:v12.22.1
NPM 版本:v6.14.12
Strapi 版本:3.6.2
数据库:MongoDB
操作系统:Macos
情况:
我有一个装有产品的 mongodb 集合,它们都显示在我本地的 Strapi 管理面板中。但他们都缺少他们的“卷”。产品集合包含所有产品信息,如品牌名称、产品名称和类型等。在创建过程中,通过 ObjectId 将卷链接到其各自的产品 ID,就像孩子与其父(虚拟关系)一样,卷集合包含价格、库存数据等
举个例子:
产品型号:
{ "_id": "abcde","brand": "Example","product": "Hello","type": "Some Type" }
卷模型:
{ "link": "abcde","volume": "60 ml","price": 50.00,"stock": 5 },{ "link": "abcde","volume": "80 ml","price": 60.00,"stock": 10 },"volume": "100 ml","price": 70.00,"stock": 15 }
我正在尝试加载 Strapi 中的所有产品,包括它们的虚拟链接卷。 似乎我需要在控制器中进行自定义查询,但在进行研究并在互联网上搜索后,我仍然无法提出可行的解决方案。
我想要实现的目标如下: 产品型号:
{
"_id": "abcde","type": "Some Type","volumes": [
{ "link": "abcde","stock": 15 }]
}
我尝试了以下方法,但这并没有输出想要的结果。
/api/products/controllers/products.js
/**
* Read the documentation (https://strapi.io/documentation/developer-docs/latest/development/backend-customization.html#core-controllers)
* to customize this controller
*/
module.exports = {
find(ctx) {
if (ctx.query._q) {
return strapi.services.products.search(ctx.query);
}
return strapi.services.products.find(ctx.query,{
path: 'volumes',populate: {
path: 'link'
}
});
},};
有人可以帮我吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。