Contentful NodeJS SDK嵌套字段问题:二级嵌套仅返回sys属性
解决Contentful嵌套引用字段仅返回sys属性的问题
这是Contentful API的默认行为:默认只展开顶层引用的字段,二级及更深的嵌套引用只会返回sys元数据,需要通过include参数显式指定要展开的嵌套层级。
解决步骤
在getEntries请求中添加include参数,值对应你的嵌套深度:
- 你的数据结构层级:BlogArticle(层级1)→ Comment(层级2)→ User(层级3),所以需要设置
include: 3
修改后的代码:
const articles = await client.getEntries({ content_type: "BlogArticle", include: 3 }) console.log(articles.entries.fields.comments)
补充说明
include参数的最大值为10,足够覆盖大多数复杂嵌套场景;如果不确定具体层级,直接设为10即可- 确保Contentful内容模型中,所有嵌套的引用字段(User、Comment)都正确配置为「引用」类型,且当前API密钥拥有这些内容类型的读取权限
内容的提问来源于stack exchange,提问作者Prémices K
相关产品推荐
相关产品推荐

