内容 JS:无法通过匹配引用字段检索条目



我正在使用Contentful的Javascript API来构建一个项目。目前,我遇到了一个问题,即我得到"未定义"作为以下调用的返回。

const query = {
content_type: "vehicle",
include: 2,
select: "fields",
"fields.site.fields.siteName[match]": id
};

我已经将"车辆"设置为一个模型,该模型使用带有名称,地址等的"站点"引用。似乎可以在第一级使用[存在],例如

"fields.site[exists]": true

这有效,但对我需要的东西不满意。

我需要的是属于指定站点的任何车辆。显然,我已经确保添加相关内容,并且在省略"fields.site.fields..."时,我确实可以看到数据。线。出于安全目的,我非常不会在响应中显示其他站点的车辆。

我错过了什么吗?提升"包含"级别也无济于事。

👋🏻

我相信你在文档中没有看到一句话。

其次是fields.brand.sys.contentType.sys.id=sFzTZbSuM8coEwygeUYes,用于过滤内容类型2PqfXUJwE8qSYKuM0U6w8M的条目字段。

因此,基本上要使查询正常工作,您还必须定义搜索查询与之匹配的条目的内容类型。

我很快在 Node.js 中制作了您的案例原型。

const { createClient } = require('contentful');
const client = createClient({
space: '...',
accessToken: '...'
});
client.getEntries({
content_type: 'vehicle',
select: 'fields',
// this is the line you're missing
'fields.site.sys.contentType.sys.id': 'site',
'fields.site.fields.siteName': 'vw-site'
}).then(({items}) => {
console.log(items);
}).catch(e => console.log(e));

您可以在文档中找到详细示例

希望对:)有所帮助

最新更新