You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两个Meetup GraphQL查询以一次性获取完整活动信息

合并后的Meetup API GraphQL查询

直接把第二个请求的字段片段嵌套到第一个请求的edges.node层级即可,合并后的完整查询如下:

query($query:String!,$lat: Float!,$lon:Float!,$radius:Int!) {
    keywordSearch(filter: {query: $query,lat: $lat, lon: $lon, radius:$radius, source:EVENTS, eventType:PHYSICAL}) {
      count 
      edges{
        node{
          id
          ... bare_event
        }
      } 
    }
}

fragment bare_event on Event{
  title 
  dateTime
  eventUrl
  onlineVenue{
    type
    url
  }
  venue{
    ... bare_venue
  }
}

fragment bare_venue on Venue{
  id
  name
  address
}

请求参数

和你原有第一个搜索请求的参数完全一致,无需额外添加活动ID参数:
{"query":"knitting ","lat":37.774929,"lon":-122.419418,"radius":50}

逻辑说明

Meetup GraphQL schema中,当keywordSearch的source参数指定为EVENTS时,返回的edges.node本身就是Event类型,和你第二个请求查询的单条活动属于同一类型,因此可以直接复用你定义的片段,在一次查询中拿到所有活动的全量信息,彻底避免N+1查询问题。

返回示例片段

返回结果的每条活动节点会同时包含ID和详情字段:

{
  "node": {
    "id": "281538648!chp",
    "title": "Monday Knitting Meetup (Mountain View)",
    "dateTime": "2021-10-25T19:00-07:00",
    "eventUrl": "https://www.meetup.com/scv-knitters/events/281538648",
    "onlineVenue": null,
    "venue": {
      "id": "25006220",
      "name": "Panera Bread (YET ANOTHER PANERA!!)",
      "address": "1035 El Monte Ave"
    }
  }
}

内容的提问来源于stack exchange,提问作者ina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:27:01