Contentful JS:无法通过匹配参考字段检索条目
Contentful JS: Unable to retrieve entries by matching Reference field
我正在使用 Contentful 的 Javascript API 来构建项目。目前,我遇到一个问题,我得到 "undefined" 作为以下调用的 return。
const query = {
content_type: "vehicle",
include: 2,
select: "fields",
"fields.site.fields.siteName[match]": id
};
我已经将 "vehicle" 设置为一个模型,该模型使用包含名称、地址等的 "site" 引用。第一层好像可以用[exist],比如
"fields.site[exists]": true
哪个有效,但不能满足我的需要。
我需要的是属于指定站点的任何车辆。显然,我已经确保添加了相关内容,并且在省略 "fields.site.fields..." 行时确实可以看到数据。出于安全考虑,我不会在响应中显示其他站点的车辆。
我错过了什么吗?提高 "include" 级别也没有任何作用。
我相信你在文档中没有看到一句话。
Second is fields.brand.sys.contentType.sys.id=sFzTZbSuM8coEwygeUYes which you use to to filter on fields of entries from content type 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));
你可以找到详细的例子in the docs
希望对您有所帮助:)
我正在使用 Contentful 的 Javascript API 来构建项目。目前,我遇到一个问题,我得到 "undefined" 作为以下调用的 return。
const query = {
content_type: "vehicle",
include: 2,
select: "fields",
"fields.site.fields.siteName[match]": id
};
我已经将 "vehicle" 设置为一个模型,该模型使用包含名称、地址等的 "site" 引用。第一层好像可以用[exist],比如
"fields.site[exists]": true
哪个有效,但不能满足我的需要。
我需要的是属于指定站点的任何车辆。显然,我已经确保添加了相关内容,并且在省略 "fields.site.fields..." 行时确实可以看到数据。出于安全考虑,我不会在响应中显示其他站点的车辆。
我错过了什么吗?提高 "include" 级别也没有任何作用。
我相信你在文档中没有看到一句话。
Second is fields.brand.sys.contentType.sys.id=sFzTZbSuM8coEwygeUYes which you use to to filter on fields of entries from content type 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));
你可以找到详细的例子in the docs
希望对您有所帮助:)