我正在尝试通过Contentful API(内容交付的 npm 模块)做某事,但我不确定是否可行。
我tag
在 Contentful 中有一个内容类型,它有 1 个字段,也称为tag
. 然后我有另一个名为的内容类型article
,它有一个名为tags
. 该字段允许编辑将多个标签条目链接到文章。
现在当用户加载文章时,我想通过使用标签来查找具有相同标签的其他文章来显示相似的阅读。
所以一篇文章的相关 JSON 结构看起来是这样的:
{
sys: {...},
fields: {
tags: [
{
sys: {...},
fields: { tag: "Football" }
},
{
sys: {...},
fields: { tag: "Leeds United" }
},
{
sys: {...},
fields: { tag: "Elland Road" }
}
]
}
}
所以说用户正在阅读的文章有标签football
,Leeds United
和Elland Road
。我将如何使用 API 返回带有这 3 个标签或其中一些标签的其他文章。例如,具有所有 3 个标签的文章将是强匹配,但只有 1 个匹配标签的文章将是弱匹配。
我尝试像这样使用包含规则:
contentClient.entries({
"content_type": "xxxxxxxx",
"fields.tags[in]": ["football", "Leeds United"],
}, function(err, entries){
if (err) throw err;
console.log(entries);
});
这当然行不通,因为值为 in 的字段不是fields.tags[in]
it's fields.tags.fields.tag
。