Skip to content

Latest commit

 

History

History
43 lines (37 loc) · 1.04 KB

grab-multiple-values-from-a-reference.md

File metadata and controls

43 lines (37 loc) · 1.04 KB

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
  }
}