Hey! I decided to try and use GROQ in my svelte project and have hit a roadblock. I don’t understand how to correctly query for an unknown referenced document. I’m successfully...

4 replies
Last updated: May 13, 2020
Hey! I decided to try and use GROQ in my svelte project and have hit a roadblock. I don’t understand how to correctly query for an unknown referenced document.
I’m successfully querying blocks that use references (->) but I’m trying to do the same for a mark / link. If I console log the link currently it is only fetching

{_key: "452dec4de1a3", _ref: "29e3b314-6983-46ce-8c3e-1d968ab74d22", _type: "linkInternal"}

May 12, 2020, 7:09 PM
Oh and my query:
* [_type == "post"
&& route.slug.current == $post_slug
&& taxonomy.category->.route.slug.current == $category_slug
][0]{
...,
richcontent[]{
		...,

		_type == 'embedBook' => {
			...,
			book->
		},
		_type == 'embedPattern' => {
			...,
			pattern->
		},
		_type == 'embedPost' => {
			...,
			post->
		},
		_type == 'embedProfile' => {
			...,
			list[]->
		}
	}
}
May 12, 2020, 7:11 PM
I believe it might be
* [_type == "post"
&& route.slug.current == $post_slug
&& taxonomy.category->.route.slug.current == $category_slug
][0]{
...,
richcontent[]{
		...,
		markDefs[]{
		  _type == "linkInternal" => @->
		},
		_type == 'embedBook' => {
			...,
			book->
		},
		_type == 'embedPattern' => {
			...,
			pattern->
		},
		_type == 'embedPost' => {
			...,
			post->
		},
		_type == 'embedProfile' => {
			...,
			list[]->
		}
	}
}
As per this example
https://github.com/sanity-io/sanity-recipes/blob/master/examples/links-in-portabletext/joinInternalLink.groq
May 12, 2020, 9:42 PM
I believe it might be
* [_type == "post"
&& route.slug.current == $post_slug
&& taxonomy.category->.route.slug.current == $category_slug
][0]{
...,
richcontent[]{
		...,
		markDefs[]{
		  _type == "linkInternal" => @->
		},
		_type == 'embedBook' => {
			...,
			book->
		},
		_type == 'embedPattern' => {
			...,
			pattern->
		},
		_type == 'embedPost' => {
			...,
			post->
		},
		_type == 'embedProfile' => {
			...,
			list[]->
		}
	}
}
As per this example
https://github.com/sanity-io/sanity-recipes/blob/master/examples/links-in-portabletext/joinInternalLink.groq
May 12, 2020, 9:42 PM
Thank you! After a bit of tweaking I think I got it working. This helped.
May 13, 2020, 12:53 AM

Sanity.io – build remarkable experiences at scale

Sanity is a customizable solution that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Related topics

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
I'm having a hard time doing a client side query, tried using the HTTP API but the URI encoding for '&&' and '->'...6Jun 8, 2020

Related contributions

AIML.LOL
- Made with Sanity

AI-Generated Online Comic

3200.PRO Ryan Murray
Go to AIML.LOL

nocode.gallery
- Made with Sanity

We scour the web for the most visually stunning no-code websites and share them with our community to provide inspiration and ideas.

Chris Jayden
Go to nocode.gallery

Shelby Kay
- Made with Sanity

Portfolio of Shelby Kay, an independent Front-End Developer with an attention towards design-focused websites.

Félix Péault
Go to Shelby Kay