Javascript 内容式搜索值也包含字段的字段

Javascript 内容式搜索值也包含字段的字段,javascript,contentful,Javascript,Contentful,比如说,我在我的contentful后端上列出了多部电影,我只希望查询返回恐怖电影,所以我按类别进行筛选 0:fields{ name: "Some horror movie" category: {sys: {…}, fields: {…}} // fields contains in this example: {name: "horror"} } 注意,category本身就是一种内容类型,它有一个fields属性,其中只有一个name属性。 因此,我认为我可以通过执行以

比如说,我在我的contentful后端上列出了多部电影,我只希望查询返回恐怖电影,所以我按类别进行筛选

0:fields{
    name: "Some horror movie"
    category: {sys: {…}, fields: {…}} // fields contains in this example: {name: "horror"}
}
注意,category本身就是一种内容类型,它有一个fields属性,其中只有一个name属性。 因此,我认为我可以通过执行以下操作来过滤这一点:

client.getEntries({
      'content_type': 'movie',
      'fields.category.fields.name[match]': 'horror'
    })

但是,这返回了一个400错误,我真的不知道为什么或如何修复它。

查询是正确的,但是在筛选字段值时,还需要在引用的内容类型中包含筛选。您可以在此处阅读更多有关内容:

如果将其添加到查询中,它应该可以工作

client.getEntries({
  'content_type': 'movie',
  'fields.category.fields.name[match]': 'horror',
  'fields.category.sys.contentType.sys.id': 'horror-content-type-id'
})
您可以在此处找到完整的代码段示例:

记住用恐怖内容类型的实际id替换
'horror-content-type-id'