NodeJS:属性从响应中消失了吗?

问题描述

在我的控制台中:

[ CampaignStrategy {
    id: 248,id_mm: 828419,strategy_name: "Norhart_Encore_AUD",impressions: 7623,clicks: 13,TEST_PROPERTY: '222222',ordered_impressions:
     Orderedimpression { ordered_impressions: '123',id: 7,strategy_id: 248 }
    },...
]

浏览器(XHR)中收到的响应对象:

[
  {
    "id": 248,"id_mm": 828419,"strategy_name": "Norhart_Encore_AUD","impressions": 7623,"clicks": 13,},...
]

请注意,TEST_PROPERTYordered_impressions在后​​者中不存在。我究竟做错了什么? 这是我的控制器逻辑:

@get('/campaignStrategies/{id}')
  async findStrategies(
    @param.path.number('id') id: number,): Promise<any> {
    const campaignStrats = await this.campaignStrategyRepository.find({
      where: {
        campaignId: id
      }
    });

    const campaignStratsIds = campaignStrats.map(strat => {
      return { strategy_id: strat.id }
    });

    const campaignSettings = await this.orderedimpressionRepository.find({
      where: {
        or: campaignStratsIds
      }
    });

    const settingsTable = await campaignSettings.reduce((acc: any,setting: any) => {
      acc[setting.strategy_id] = setting;
      return acc;
    },{});

    const fullData = campaignStrats.map((strat: any) => {
      strat['TEST_PROPERTY'] = '222222'
      strat['ordered_impressions'] = settingsTable[`${strat.id}`];
      return strat;
    });

    console.log(fullData);

    return fullData;
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)