簡體   English   中英

從 AWS Amplify 過濾數據 Graphql API

[英]Filtering data from AWS Amplify Graphql API

Graphql 架構:

type Media @model
{
  id: ID!
  title: String
  type: String
}

樣本數據:

{
      id: "some ID",
      title: "sample media1",
      type: "image/png",
}

{
      id: "some ID",
      title: "sample media2",
      type: "video/mp4",
}

我只想獲取其類型包含字符串“image”的數據。

類型:“圖像/mp4”

我知道我可以通過這種方式獲得一些基於標題的數據。

import { API, graphqlOperation } from "aws-amplify"
import * as queries from "@src/graphql/queries"
...
let title = "sample media1"
const medias = await API.graphql(
                 graphqlOperation(queries.listMedias, { filter: { title: { eq: title } } })
               )

是否有任何類似的方法來獲取其屬性之一包含特定值的數據?

“包含”不“完全相同”

如 AWS Amplify 文檔中所述,您可以使用相應的 DynamoDB 查詢 其中一個查詢是包含,但它取決於您正在過濾的字段類型。 DynamoDB 支持的所有算子列表:

  • 情商
  • 網元
  • LT
  • 通用電氣
  • 燃氣輪機
  • NOT_NULL
  • NULL
  • 包含
  • NOT_CONTAINS
  • 開始於
  • 之間

所以在你的例子中:

import { API, graphqlOperation } from "aws-amplify"
import * as queries from "@src/graphql/queries"
...
let title = "sample media1"
const medias = await API.graphql(
                 graphqlOperation(queries.listMedias, { filter: { title: { contains: title } } })
               )

暫無
暫無

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

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