在 Sanity.io 中解析块内容中的引用
Resolve reference in Block Content in Sanity.io
我在 Sanity 中有这样的内容块:
export default {
title: "Block Content",
name: "blockContent",
type: "array",
of: [
/// stuff here
{
title: "Book",
type: "reference",
to: [{ type: "book" }],
},
],
};
进行类似
的查询时
'*[_type == "post"]{...,body[]{..., asset->{..., "_key": _id}, markDefs[]{..., _type == "internaLink" => {"slug": @.reference->slug}}}';
我得到了参考资料,但我想要 return 完整的文档。我尝试了所有方法,但文档只解释了内容块之外的引用,而且这些方法不起作用。
这是return从查询中编辑的内容:
_createdAt: '2020-12-07T14:43:34Z',
_id: '9d628aa6-aba7-4b53-aa9f-c6e97583baf9',
_rev: 'ZZ0GkIKCRvD0tdMQPywPfl',
_type: 'post',
_updatedAt: '2020-12-07T14:43:34Z',
body: [
{
_key: '4184df372bae',
_type: 'block',
children: [Array],
markDefs: [],
style: 'normal'
},
{
_key: '56bed8835a7d',
_ref: 'dc2eefee-2200-43e1-99c7-ea989dda16ba',
_type: 'reference'
}
],
title: 'Example'
已解决,我在这里写解决方案,因为我在网上找不到任何东西。
基本上我随机尝试任何东西,直到得到想要的结果。
查询是:
_type=="reference"=>^->
我在 Sanity 中有这样的内容块:
export default {
title: "Block Content",
name: "blockContent",
type: "array",
of: [
/// stuff here
{
title: "Book",
type: "reference",
to: [{ type: "book" }],
},
],
};
进行类似
的查询时'*[_type == "post"]{...,body[]{..., asset->{..., "_key": _id}, markDefs[]{..., _type == "internaLink" => {"slug": @.reference->slug}}}';
我得到了参考资料,但我想要 return 完整的文档。我尝试了所有方法,但文档只解释了内容块之外的引用,而且这些方法不起作用。
这是return从查询中编辑的内容:
_createdAt: '2020-12-07T14:43:34Z',
_id: '9d628aa6-aba7-4b53-aa9f-c6e97583baf9',
_rev: 'ZZ0GkIKCRvD0tdMQPywPfl',
_type: 'post',
_updatedAt: '2020-12-07T14:43:34Z',
body: [
{
_key: '4184df372bae',
_type: 'block',
children: [Array],
markDefs: [],
style: 'normal'
},
{
_key: '56bed8835a7d',
_ref: 'dc2eefee-2200-43e1-99c7-ea989dda16ba',
_type: 'reference'
}
],
title: 'Example'
已解决,我在这里写解决方案,因为我在网上找不到任何东西。 基本上我随机尝试任何东西,直到得到想要的结果。 查询是:
_type=="reference"=>^->