Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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
Javascript 如何从Ticketmaster';什么是开放式API?_Javascript_Node.js_Mongodb_Mongoose_Axios - Fatal编程技术网

Javascript 如何从Ticketmaster';什么是开放式API?

Javascript 如何从Ticketmaster';什么是开放式API?,javascript,node.js,mongodb,mongoose,axios,Javascript,Node.js,Mongodb,Mongoose,Axios,我试图从Ticketmaster的API获取所有事件信息,并向mongoDB添加特定变量。但是,我目前使用的API每页仅限于200个事件。因此,我无法将活动信息与场馆信息连接起来,因为它们是单独添加到mongoDB的。一种解决方案可能是通过更改API url中的页面参数来循环所有页面,或者可能还有其他选项 我的代码如下所示(长度很抱歉…): app.get('/tm',(req,res)=>{ axios//获取场地 .get('https://app.ticketmaster.com/dis

我试图从Ticketmaster的API获取所有事件信息,并向mongoDB添加特定变量。但是,我目前使用的API每页仅限于200个事件。因此,我无法将活动信息与场馆信息连接起来,因为它们是单独添加到mongoDB的。一种解决方案可能是通过更改API url中的页面参数来循环所有页面,或者可能还有其他选项

我的代码如下所示(长度很抱歉…):

app.get('/tm',(req,res)=>{
axios//获取场地
.get('https://app.ticketmaster.com/discovery/v2/venues.json?apikey=myApiKey&page=0&size=200&countryCode=DK')
。然后(响应=>{
const venuesToBeInserted=response.data.\u embedded.victions.map(场馆=>{//准备场馆
返回{
sourceID:vention.id,
地点:地点。名称,
postalCode:地点。postalCode,
城市:地点。城市。名称,
国家:地点。国家。名称,
国家代码:地点。国家。国家代码,
地址:!!vention.address?vention.address.line1:null,
经度:!!地点.位置?地点.位置.经度:空,
纬度:!!地点位置?地点位置纬度:空,
资料来源:“ticketmaster”
}
})
//一次创建所有场地
创建(venuesToBeInserted)。然后(venues=>{
控制台日志(“插入的场地”)
axios//获取事件和显示-注意api链接中的页面参数
.get('https://app.ticketmaster.com/discovery/v2/events.json?apikey=myApiKey&countryCode=DK&size=200&page=0')
。然后(响应=>{
const eventsToBeInserted=response.data.\u embedded.events.map(events=>{//preparing events
const event=events.\u embedded.attractions[0]
返回{
sourceID:event.id,
名称:event.name,
slug:slugify(event.name).toLowerCase(),
标记:!!event.classifications?[event.classifications[0]。genre.name,event.classifications[0]。subGenre.nam]:[],//出现重复的流派
//ticketmaster中可能的标记:类型和子类型
}
})
//一次创建所有事件
创建(eventsToBeInserted)。然后(events=>{
console.log(“插入的事件”)
const showsToBeInserted=response.data.\u embedded.events.map(show=>{
const event=events.find(event=>event.sourceID==show.\u embedded.attractions[0].id);
const-vention=ventions.find(vention=>vention.sourceID==show.\u-embedded.ventions[0].id);
如果(!!活动和地点){
返回{
事件:事件。\u id,
地点:地点,
时区:show.dates.timezone,
dateStart:!!show.dates.start.dateTime?show.dates.start.dateTime:show.dates.start.localDate,
门票:!!show.priceRanges{
minPrice:show.priceRanges[0]。最小,
maxPrice:show.priceRanges[0]。最大,
货币:显示。价格范围[0]。货币
}: {} 
}
}
})
//让我们看看我们在数据库中创建了什么
查找({})。选择({
姓名:1,,
鼻涕虫:-1
}).limit(10)。填充('event')。填充('vention')。然后(events=>{
console.log(util.inspect(events));
}).catch(错误=>{
控制台错误(err);
});
}).catch(错误=>{
控制台错误(err)
})
}).catch(错误=>{
控制台错误(err)
})
}).catch(错误=>{
控制台错误(err)
});
}).catch(错误=>{
控制台错误(err)
})
})