Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb TypeError:无法读取属性';市场';未定义的类型(第23行)_Mongodb_Api_Google Apps Script - Fatal编程技术网

Mongodb TypeError:无法读取属性';市场';未定义的类型(第23行)

Mongodb TypeError:无法读取属性';市场';未定义的类型(第23行),mongodb,api,google-apps-script,Mongodb,Api,Google Apps Script,TypeError:无法读取未定义的属性“市场”(第23行) 我使用同一个数据库6个月没有碰任何东西,它从来没有失败过,今天这个错误开始出现,我试图找到故障,但在收集数据时无法找到故障 以下是我收集值的基础(您可以通过单击链接访问数据图): 以下是我使用的脚本: const response = UrlFetchApp.fetch("https://webhooks.mongodb-stitch.com/api/client/v2.0/app/oddsbf-dvyne/servi

TypeError:无法读取未定义的属性“市场”(第23行)

我使用同一个数据库6个月没有碰任何东西,它从来没有失败过,今天这个错误开始出现,我试图找到故障,但在收集数据时无法找到故障

以下是我收集值的基础(您可以通过单击链接访问数据图):

以下是我使用的脚本:

  const response = UrlFetchApp.fetch("https://webhooks.mongodb-stitch.com/api/client/v2.0/app/oddsbf-dvyne/service/http/incoming_webhook/webhook0");
  const mongo_matches = JSON.parse(response.getContentText());
  const matches = mongo_matches.map(function(match) {
    var over = '-'
    var under = '-'
    if(match['markets']['over_25'] !== undefined && 
       match['markets']['over_25']['over']['odds'] !== undefined && 
       (match['markets']['over_25']['over']['odds']['availableToBack'].length > 0 &&
         match['markets']['over_25']['under']['odds']['availableToBack'].length > 0 )){
      over = match['markets']['over_25']['over']['odds']['availableToBack'][0] !== undefined ? match['markets']['over_25']['over']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['over_25']['over']['odds']['availableToLay'][0]['price']['$numberDouble']
      under = match['markets']['over_25']['under']['odds']['availableToBack'][0] !== undefined ? match['markets']['over_25']['under']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['over_25']['under']['odds']['availableToLay'][0]['price']['$numberDouble']
    }
    return [
      match['markets']['marketStartTime'],
      match['markets']['lastSaved'],
      match['markets']['competition'],
      match['markets']['homeTeam']['runnerName'],
      match['markets']['awayTeam']['runnerName'],
      match['markets']['homeTeam']['odds']['availableToBack'][0] !== undefined ? match['markets']['homeTeam']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['homeTeam']['odds']['availableToLay'][0]['price']['$numberDouble'],
        match['markets']['awayTeam']['odds']['availableToBack'][0] !== undefined ? match['markets']['awayTeam']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['awayTeam']['odds']['availableToLay'][0]['price']['$numberDouble'],
          match['markets']['draw']['odds']['availableToBack'][0] !== undefined ? match['markets']['draw']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['draw']['markets']['odds']['availableToLay'][0]['price']['$numberDouble'],
            under,
              over,
                ]; 
  });
给出错误的第23行是:

          match['markets']['draw']['odds']['availableToBack'][0] !== undefined ? match['markets']['draw']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['draw']['markets']['odds']['availableToLay'][0]['price']['$numberDouble'],

将第23行替换为:

match['markets']['draw']['odds']['availableToBack'][0] !== undefined ? match['markets']['draw']['odds']['availableToBack'][0]['price']['$numberDouble'] : match['markets']['draw']['odds']['availableToLay'][0]['price']['$numberDouble'],

更新:

Logger.log(mongo_matches['draw'])
Logger.log(mongo_matches['matches'])

两者都返回null。这意味着您无法从空对象访问信息。

Mate。。。我按照你的指示做了测试,它完全恢复了工作状态!