不包括 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 (将#修改为@)