簡體   English   中英

AWS Appsync 和 DynamoDB - 使用 IN 運算符進行查詢

[英]AWS Appsync and DynamoDB - Query using IN operator

我在 DynamoDB 中有一個表連接到 appsync API。 桌子看起來像......

ID State 價值
0 紐約 100
1 伊利諾伊州 0
2 德克薩斯州 50

我正在嘗試使用 appsync UI 來使用“IN”運算符查詢表,但這似乎不是 Appsync 的選項。 例如,我可能會查詢 state 為“TX”或“IL”的行。 我認為查詢可能看起來像......

query MyQuery {
  listResults(filter: {state: {in: ["TX", "IL"]}}) {
    items {
      id
      state
      value
    }
  }

但是,appsync 似乎不支持 IN 運算符。 我有“eq”、“gt”、“lt”等選項,但 IN 運算符沒有選項。 似乎是一個非常標准的用例,但我正在努力尋找文檔。 如果是這種情況,有哪些潛在的解決方法? 我曾嘗試使用自定義解析器,但能夠找到明確的答案。

該約束與 Amplify 相關,它不支持開箱即用的 IN 運算符 如您所知,高級 Amplify 抽象了一些應用程序管道,否則您必須在 AppSync 和數據源中手動執行。 代價是缺乏靈活性。

Appsync 可以很好地處理您的MyQuery AppSync 也沒有定義in運算符(或gtlt或其他)。 只是在 AppSync 中,您可以自由定義您認為合適的類型和解析器。 靈活性,但更多樣板。

如果您堅持使用 Amplify,您可以使用新的輸入類型手動修改架構。 然后實現一個Amplify 自定義解析器並將您的新類型鏈接到它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM