如何在Generic Mesh CMS中使用graphql对数组进行过滤?

时间:2018-07-04 08:54:14

标签: graphql gentics-mesh

我正在尝试仅获取具有特定值的数组中的条目(myArray:[String])。

显示此数组不是问题:

query ($lang: [String!], $filter: String!) {
  nodes(lang: $lang, filter: {schema: {is: myObj}, fields: {myObj: {name: {regex: $filter}}}}) {
    elements {
      uuid
      language
      availableLanguages
      fields {
        ... on module {
          name
          myArray
        }
      }
      node {
        language
        fields {
          ... on module {
            name
            myArray
          }
        }
      }
    }
  }
}

结果:

{
  "data": {
    "nodes": {
      "elements": [
        {
          "uuid": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
          "language": "de",
          "availableLanguages": [
            "de"
          ],
          "fields": {
            "name": "ASDF",
            "myArray": [
              "CAT_1",
              "CAT_2"
            ]
          },
          "node": null
        }
      ]
    }
  }
}

如何过滤myArray?我只是在数组$filter中使用uf myArray值的元素吗?

在图 i QL中,我无法在文档的过滤器-字段下找到myArray。

1 个答案:

答案 0 :(得分:0)

列表类型的

GraphQL-Filtering尚不支持。在GraphiQL文档中,您现在只能找到支持的字段。 在此处查看受支持的字段类型:https://getmesh.io/docs/beta/graphql.html#_filtering_limitations

以下是有关此功能的Github公开问题:https://github.com/gentics/mesh/issues/27