Mongodb TypeError:无法读取属性';市场';未定义的类型(第23行)
TypeError:无法读取未定义的属性“市场”(第23行) 我使用同一个数据库6个月没有碰任何东西,它从来没有失败过,今天这个错误开始出现,我试图找到故障,但在收集数据时无法找到故障 以下是我收集值的基础(您可以通过单击链接访问数据图):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
以下是我使用的脚本:
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。。。我按照你的指示做了测试,它完全恢复了工作状态!