mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 15:18:01 +00:00
1.0 KiB
1.0 KiB
Grab Multiple Values From A Reference
Let's say we have an author with some attributes including a reference to a
person which contains more data about the person. Here is one way to write a
query to access that data.
*[_type == 'author' && slug.current == 'donna-tartt']{
website,
'firstName': person->firstName,
'lastName': person->lastName,
'age': person->age
}
Here is another way to write this query that doesn't do three separate accesses
on the person reference.
*[_type == 'author' && slug.current == 'donna-tartt']{
website,
person-> {
'firstName': firstName,
'lastName': lastName,
'age': age
}
}
This isn't quite right though because it leaves the three reference values
nested under person. We can get back to the original shape of our query by
flattening the person object using familiar looking spread syntax (...).
*[_type == 'author' && slug.current == 'donna-tartt']{
website,
...person-> {
'firstName': firstName,
'lastName': lastName,
'age': age
}
}