[英]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
運算符(或gt
、 lt
或其他)。 只是在 AppSync 中,您可以自由定義您認為合適的類型和解析器。 靈活性,但更多樣板。
如果您堅持使用 Amplify,您可以使用新的輸入類型手動修改架構。 然后實現一個Amplify 自定義解析器並將您的新類型鏈接到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.