Reindex
TeamBlogDocs

Queries

node

node(id: ID!): Node

All Reindex types that implement the Node interface have an id that is globally unique among all types. By using this fact, it’s possible to retrieve any node by its id. node root field does exactly that - returns any object that has the Node interface.

This root field is used by Relay to update its client-side cache.

Note that Node only has one field - id. If you want to retrieve fields of concrete type, you need to use typed fragment.

query NodeExample {
  node(id: "some-id") {
    id,
    ... on Todo {
      text,
      completed,
    }
  }
}

xByField

xByField(fieldName: fieldType!): X

# For example
todoById(id: ID!): Todo
reindexTypeByName(name: String!): ReindexType

Get an object by one of it’s unique fields. id is always unique, so all types get XById.

viewer

viewer: ReindexViewer

type ReindexViewer implements Node {
  id: ID!
  user: User
  # connections to all types
  allXs(first: Int = 10, last: Int, before: Cursor, after: Cursor, orderBy: _XOrdering): _XConnection
  # for example
  allTodos(first: Int = 10, last: Int, before: Cursor, after: Cursor, orderBy: _TodoOrdering): _TodoConnection
}

viewer is a root field that returns ReindexViewer. viewer is a Relay pattern and it holds information about current user and connections to all the nodes of each node type. In many applications, most queries will start with viewer.

ReindexViewer is a global Node used to query all nodes and the current user.

ReindexViewer has a user field, which is the currently logged-in user. If there is no logged-in user, this field will return null.

For each node type, ReindexViewer has a connection field with all nodes of that type. The field is named is allObjects where Objects is the pluralized name of the type.

Topics:

Queries

node

node(id: ID!): Node

All Reindex types that implement the Node interface have an id that is globally unique among all types. By using this fact, it’s possible to retrieve any node by its id. node root field does exactly that - returns any object that has the Node interface.

This root field is used by Relay to update its client-side cache.

Note that Node only has one field - id. If you want to retrieve fields of concrete type, you need to use typed fragment.

query NodeExample {
  node(id: "some-id") {
    id,
    ... on Todo {
      text,
      completed,
    }
  }
}

xByField

xByField(fieldName: fieldType!): X

# For example
todoById(id: ID!): Todo
reindexTypeByName(name: String!): ReindexType

Get an object by one of it’s unique fields. id is always unique, so all types get XById.

viewer

viewer: ReindexViewer

type ReindexViewer implements Node {
  id: ID!
  user: User
  # connections to all types
  allXs(first: Int = 10, last: Int, before: Cursor, after: Cursor, orderBy: _XOrdering): _XConnection
  # for example
  allTodos(first: Int = 10, last: Int, before: Cursor, after: Cursor, orderBy: _TodoOrdering): _TodoConnection
}

viewer is a root field that returns ReindexViewer. viewer is a Relay pattern and it holds information about current user and connections to all the nodes of each node type. In many applications, most queries will start with viewer.

ReindexViewer is a global Node used to query all nodes and the current user.

ReindexViewer has a user field, which is the currently logged-in user. If there is no logged-in user, this field will return null.

For each node type, ReindexViewer has a connection field with all nodes of that type. The field is named is allObjects where Objects is the pluralized name of the type.