Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/ /

Tipos, Resolvedores e Operadores do GraphQL

Nesta página

  • Visão geral
  • Tipos de Escalar
  • Tipos de documento
  • Mapeamento de campo
  • Mapeamento de Tipo BSON
  • Tipos de Entrada
  • Entrada de query
  • InsertInput
  • UpdateInput
  • RelationInput
  • Ordenar por Entrada
  • Resolvedores de Query
  • Encontrar um único documento
  • Localizar vários documentos
  • Resolvedores de mutação
  • Inserir um único documento
  • Insira vários documentos
  • Atualizar um único documento
  • Atualizar vários documentos
  • Upsert um Único Documento
  • Substituir um único documento
  • Excluir um único documento
  • Excluir vários documentos
  • Paginate Data

O Atlas App Services gera automaticamente um esquema GraphQL para qualquer coleção que tenha um esquema definido. Para cada coleção, os Serviços de Aplicativo geram o seguinte:

  • Umtipo de documento que representa um único documento na coleção

  • Um conjunto de consultas e mutações que lhe permite acessar e manipular documentos na coleção.

  • Um conjunto de tipos de entrada que permite filtrar consultas, modificar campos específicos e classificar resultados.

Observação

Exemplo de Esquema de Coleção

Esta página inclui exemplos que demonstram valores gerados com base no seguinte esquema para uma coleção do movies:

{
"title": "Movie",
"required": ["title"],
"properties": {
"_id": { "bsonType": "objectId" },
"title": { "bsonType": "string" },
"year": { "bsonType": "int" },
"rated": { "bsonType": "string" },
"runtime": { "bsonType": "int" },
"director": { "bsonType": "string" },
"reviews": {
"bsonType": "array",
"items": { "bsonType": "objectId" }
},
"cast": {
"bsonType": "array",
"items": { "bsonType": "string" }
}
}
}

O App Services é compatível com todos os tipos escalares padrão do GraphQL e também gera o escalar do ObjectId.

Os seguintes tipos escalares são compatíveis:

  • ObjectId: Um valor ObjectId serializado como uma string

  • Boolean: true ou false

  • String: Uma sequência de caracteres UTF-8

  • Int: Um número inteiro de 32 bits assinado

  • Long: Um número inteiro de 64 bits assinado

  • Float: Um double-precision floating-point value assinado

  • DateTime: Um RFC 3339 UTC DateTime (por exemplo, "2020-09-01T15:38:14.918Z")

O App Services gera um único tipo de GraphQL para os documentos em uma coleção com base no esquema da coleção. O tipo usa o nome definido no campo title do esquema ou o nome da coleção se nenhum title for especificado.

type Movie {
_id: ObjectId
title: String!
year: Int
rated: String
runtime: Int
director: String
cast: [String]
}

Os Serviços de Aplicativo tentam mapear campos em seu esquema de coleção diretamente para campos em seus tipos GraphQL. A definição de nomes válidos descrita na especificação GraphQL não oferece suporte a todos os possíveis nomes de campos de documento válidos, portanto, os Serviços de Aplicativo aplicam as seguintes regras de transformação para determinar nomes de campo em tipos de GraphQL gerados:

  • remover caracteres inválidos

  • remover números principais

  • converter para camel case

  • omite campos que comecem com um sublinhado duplo (por exemplo, __myField)

O sistema de tipos do GraphQL é semelhante, mas não idêntico, aos tipos BSON que você pode usar em um esquema. O App Services tenta mapear automaticamente entre os tipos de BSON em seu esquema e os tipos compatíveis do GraphQL. Se um tipo de campo não tiver um equivalente do GraphQL, o App Services não incluirá o campo no tipo de documento GraphQL gerado.

A tabela a seguir lista os tipos de BSON que você pode usar em um esquema e os tipos do GraphQL para os quais eles mapeiam:

Tipo de JSON/BSON
Tipo do GraphQL
objectId
ObjectId
int
Int
long
Int
double
Float
decimal
Float
date
DateTime
timestamp
DateTime

Observação

JSON oferece suporte a dois tipos que representam "sem valor": undefined e null. A especificação do GraphQL suporta null, mas não undefined, então seu aplicativo converte valores undefined da seguinte maneira:

  • Se um campo de documento estiver explicitamente definido como undefined , o tipo do GraphQL correspondente será um objeto vazio, ou seja, {}.

  • Se o nome do campo não estiver definido para o documento, ou se o valor estiver explicitamente definido como null, o tipo GraphQL correspondente será null.

O GraphQL usa tipos de entrada para representar parâmetros que você passa para queries e mutações. Esta é uma abordagem padrão usada por todas as APIs GraphQL para definir entradas de usuário inequívocas e com segurança de tipo.

Um objeto QueryInput define um conjunto de uma ou mais condições que um documento deve atender para ser incluído em uma consulta. O objeto pode incluir campos do tipo de documento, bem como qualquer um dos campos de operador que os Serviços de Aplicativo geram automaticamente com base no tipo de cada campo.

  • Campos do Documento: se um campo QueryInput tiver o mesmo nome de um campo no tipo de documento, o App Services corresponderá a um documento se o valor especificado no campo de entrada e o valor do campo no documento forem iguais.

    Exemplo

    A seguinte consulta inclui uma QueryInput com dois campos, rated e year. Ambos os nomes de campo são definidos no tipo de documento Movie , portanto, o App Services executa uma correspondência de igualdade para ambos.

    A consulta retorna o título de todos os filmes lançados no ano 2000 com classificação R.

    movies(query: { rated: "R", year: 2000 }) {
    title
    }
  • Campos do operador: se um campo QueryInput for um campo de operador válido para o tipo de query, o App Services corresponderá a um documento se o operador avaliar true.

    Exemplo

    A seguinte consulta inclui uma QueryInput com dois campos, rated_in e year_gt. Ambos são campos de operador, portanto, os Serviços de Aplicativo avaliam cada operador para determinar se um documento corresponde.

    A consulta retorna o título de todos os filmes lançados após o ano de 2000 com classificação G ou PG-13.

    movies(query: { rated_in: ["G", "PG-13"], year_gt: 2000 }) {
    title
    }

Um campo de operador de comparação permite que você defina uma condição mais complexa do que a igualdade exata, como uma consulta de intervalo. O App Services gera um conjunto de campos de operadores de comparação para cada campo no tipo de documento com base no tipo de campo. Cada operador de comparação normalmente se aplica a apenas um subconjunto de todos os tipos de campo, portanto, o App Services gera campos de operador apenas para combinações válidas.

Um campo de operador de comparação é avaliado como true para um determinado documento se o valor do campo no documento satisfizer a condição do operador em relação ao valor especificado.

Os campos do operador de comparação têm o seguinte formato:

<Field Name>_<Operator>: <Operator Value>
Operador
Tipos de Campo Compatíveis
Tipo de valor do operador
Descrição
gt
Int
Float
String
ObjectId
DateTime
<Field Type>

Localiza documentos onde o campo é maior que o valor especificado.

Exemplo

Esta consulta encontra todos os filmes lançados após o ano de 2000:

movies(query: { year_gt: 2000 }) {
title
year
}
gte
Int
Float
String
ObjectId
DateTime
<Field Type>

Encontra documentos onde o campo é maior ou igual ao valor especificado.

Exemplo

Esta consulta encontra todos os filmes lançados no ano 2000 ou posteriormente:

movies(query: { year_gte: 2000 }) {
title
year
}
lt
Int
Float
String
ObjectId
DateTime
<Field Type>

Encontra documentos em que o campo é menor que o valor especificado.

Exemplo

Esta consulta encontra todos os filmes lançados antes do ano de 2000:

movies(query: { year_lt: 2000 }) {
title
year
}
lte
Int
Float
String
ObjectId
DateTime
<Field Type>

Localiza documentos onde o campo é menor ou igual ao valor especificado.

Exemplo

Esta consulta encontra todos os filmes lançados em ou antes do ano de 2000:

movies(query: { year_lte: 2000 }) {
title
year
}
ne
Int
Float
String
Boolean
ObjectId
DateTime
<Field Type>

Localiza documentos onde o campo não é igual ao valor especificado.

Exemplo

Esta consulta encontra todos os filmes lançados em qualquer ano além de 2000:

movies(query: { year_ne: 2000 }) {
title
year
}
Em
Int
Float
String
Boolean
ObjectId
DateTime
Array
[<Field Type>]

Localiza documentos onde o campo é igual a qualquer valor na matriz especificada. Se o campo for Array, ele encontrará todos os documentos em que qualquer valor da matriz de campos também esteja incluído na matriz especificada.

Exemplo

Esta consulta encontra todos os filmes que apresentam Emma Stone e Ryan Gosling, ou ambos:

movies(query: { cast_in: ["Emma Stone", "Ryan Gosling"] }) {
title
year
}
nin
Int
Float
String
Boolean
ObjectId
DateTime
Array
[<Field Type>]

Localiza documentos onde o campo não é igual a qualquer valor na matriz especificada. Se o campo for uma Array, ele encontrará todos os documentos em que qualquer valor da matriz de campos também esteja na matriz especificada.

Exemplo

Esta consulta encontra todos os filmes que não estão classificados como G ou PG-13:

movies(query: { rated_nin: ["G", "PG-13"] }) {
title
year
}

Um campo de operador lógico permite definir combinações lógicas de objetos QueryInput independentes. o App Services gera campos de operador lógico no nível raiz para todos os tipos QueryInput .

Um campo de operador lógico é avaliado como true para um determinado documento se o resultado avaliado de todos os objetos QueryInput especificados satisfizer a condição do operador.

Os campos do operador lógico têm o seguinte formulário:

<Operator>: [<QueryInput>, ...]
Operador
Tipo de valor do operador
Descrição
e a
[QueryInput!]

Encontra documentos que correspondem a todos os objetos QueryInput fornecidos.

Exemplo

Esta consulta encontra todos os filmes com classificação PG-13 e têm um tempo de execução inferior a 120 minutos:

query {
movies(query: { AND: [{ rated: "PG-13" }, { runtime_lt: 120 }] }) {
title
year
}
}
ou
[QueryInput!]

Localiza documentos que correspondem a qualquer dos QueryInput objetos de fornecidos.

Exemplo

Esta consulta encontra todos os filmes com classificação G ou PG-13:

query {
movies(query: { OR: [{ rated: "G" }, { rated: "PG-13" }] }) {
title
year
}
}

Um campo de operador de elemento permite definir uma condição booleana que descreve um campo no documento. O App Services gera um conjunto de campos de operador de elementos para cada campo no tipo de documento.

Um campo de operador de elementos é avaliado como true em determinado documento se o resultado da avaliação da condição de operador no campo do documento corresponder ao valor booleano especificado.

Os campos do operador de elementos têm o seguinte formato:

<Field Name>_<Operator>: <Operator Value>
Operador
Tipos suportados
Tipo de valor do operador
Descrição
existe
Disponível para todos os tipos
Boolean

Encontra documentos onde o campo não é null.

Exemplo

Esta consulta encontra todos os filmes que não têm um valor definido para o campo year:

query {
movies(query: { year_exists: false }) {
_id
title
}
}

Um objeto InsertInput define um documento para inserir em uma coleção. O documento deve estar em conformidade com o tipo de documento GraphQL e incluir todos os campos obrigatórios.

Exemplo

A mutação a seguir inclui um InsertInput com vários campos definidos no tipo de documento Movie . O tipo Movie exige que todos os documentos tenham um campo title , portanto o InsertInput deve incluir um.

A mutação insere um novo filme chamado “Meu Filme Falso”.

insertOneMovie(input: {
title: "My Fake Film",
rated: "UNRATED",
year: 2020
}) {
title
}

Um objeto UpdateInput define um novo valor para um ou mais campos em um documento. O documento atualizado inclui os novos valores de campo. Quaisquer campos que você não especificar permanecerão inalterados. Os valores atualizados devem estar em conformidade com o tipo de documento GraphQL.

Exemplo

A seguinte mutação inclui uma UpdateInput que define o campo de title como "Meu Super Filme Real".

updateOneMovie(
query: { title: "My Fake Film" }
set: { title: "My Super Real Film" }
) {
title
}

Um RelationInput define um novo conjunto de documentos relacionados para um campo de relacionamento no documento mutado. Você pode referenciar documentos que já existem na coleção relacionada com o campo link ou inserir novos documentos na coleção relacionada com o campo create.

Você não pode usar link e create ao mesmo tempo. Se ambos forem especificados, a operação create terá precedência e o link será ignorado.

type RelationInput {
link: [ObjectId]
create: [InsertInput]
}

Exemplo

A mutação a seguir inclui um UpdateInput que modifica o campo reviews. O campo contém uma matriz de _id valores para documentos em uma coleção reviews separada para a qual o campo tem uma relação definida.

A mutação define o relacionamento para apontar para um documento recém-criado e dois documentos existentes na coleção reviews.

updateOneMovie(
query: { title: "My Fake Film" }
set: {
reviews: {
link: ["", ""]
create: []
}
}
) {
title
}

Uma enumeração SortByInput define uma ordem de classificação para documentos retornados por uma consulta. Você pode classificar em ordem crescente e decrescente por qualquer campo de nível raiz que não tenha um tipo de object ou array. A API GraphQL não oferece suporte a classificações aninhadas.

App Services geram dois valores de enumeração de classificação para cada campo. Cada valor é um identificador totalmente capitalizado que combina o nome do campo e a direção de classificação, ASC ou DESC.

Exemplo

A consulta a seguir retorna filmes ordenados pelo ano em que foram lançados, com os filmes mais recentes listados primeiro.

movies(sortBy: YEAR_DESC) {
title
}

O App Services gera duas consultas do GraphQL para cada coleção:

  • Uma consulta singular que encontra um documento específico na coleção.

  • Uma consulta plural que encontra todos os documentos da coleção. Você pode filtrar uma consulta plural para incluir somente o subconjunto de documentos em uma coleção que corresponda a QueryInput.

O campo de consulta de documento único utiliza o mesmo nome que o tipo de dados que a coleção contém. Ele retorna um único documento do tipo consultado e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Opcional. Um objeto que define um filtro para documentos na coleção. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um parâmetro de query, a operação de consulta corresponderá a todos os documentos.

query {
movie(query: { title: "The Matrix" }) {
title
year
runtime
director
}
}

O campo de consulta de vários documentos usa o mesmo nome que o tipo de dados que a coleção contém, mas tem um "s" adicional anexado ao nome do tipo. Ele retorna uma matriz de documentos do tipo consultado e aceita os seguintes parâmetros:

Parâmetro
Tipo do GraphQL
Descrição
query

Opcional. Um objeto que define um filtro para documentos na coleção. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um argumento query, a operação de consulta corresponderá a todos os documentos.

limit
Int
Opcional. Padrão 100. O número máximo de documentos a incluir no conjunto de resultados da consulta. Se a consulta corresponder a mais do que o limite definido, ela retornará apenas um subconjunto de documentos correspondentes.
sortBy

Opcional. Um valor que define uma ordem de classificação para documentos no conjunto de resultados da consulta. Você pode classificar em ordem crescente e decrescente por qualquer campo de nível raiz que não tenha um tipo de object ou array.

O valor sortBy é um identificador totalmente em letras maiúsculas que combina o nome do campo e a direção de classificação. Por exemplo:

  • para ordenar por título de A a Z, você usaria TITLE_ASC

  • para ordenar por classificação da mais alta para a mais baixa, você usaria RATING_DESC

Se você não especificar um argumento sortBy, a operação de consulta não garantirá a ordem dos documentos no conjunto de resultados.

query {
movies(
query: { year: 2000 }
limit: 100
sortBy: TITLE_ASC
) {
title
year
runtime
director
}
}

O App Services gera um conjunto de mutações para os documentos em cada coleção. Isso permite inserir, modificar e excluir um ou mais documentos.

O campo de mutação de inserção de documento único utiliza o nome insertOne<Type>, em que <Type> é o nome singular do tipo de dados que a coleção contém. Ele retorna o documento inserido e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
data
Obrigatório. Um documento para inserir na coleção. Se o esquema de coleção marcar um campo como obrigatório, esse documento deverá incluir um valor válido para esse campo. O App Services converte automaticamente os tipos do GraphQL no objeto InsertInput em seu respectivo tipo de BSON.
mutation {
insertOneMovie(data: {
title: "Little Women"
director: "Greta Gerwig"
year: 2019
runtime: 135
}) {
_id
title
}
}

O campo de mutação de inserção de documento múltiplo usa o nome insertMany<Type>s, em que <Type> é o nome singular do tipo de dados que a coleção contém. Ele retorna o documento inserido e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
data
Obrigatório. Um matriz de documentos para inserir na coleção. A matriz deve conter pelo menos um documento. Se o esquema de coleção marcar um campo como obrigatório, cada documento deverá incluir um valor válido para esse campo. O App Services converte automaticamente os tipos GraphQL no objeto InsertInput em seu respectivo tipo BSON, conforme definido no esquema da coleção.
mutation {
insertManyMovies(data: [
{
title: "Little Women"
director: "Greta Gerwig"
year: 2019
runtime: 135
},
{
title: "1917"
director: "Sam Mendes"
year: 2019
runtime: 119
}
]) {
_id
title
}
}

O campo de mutação de atualização de documento único utiliza o nome updateOne<Type>, em que <Type> é o nome singular do tipo de dados que a coleção contém. Ele retorna o documento atualizado e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Opcional. Um objeto que configura quais documentos da coleção atualizar. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um argumento query, a mutação atualizará o primeiro documento no conjunto de resultados, que provavelmente será o documento inserido mais recentemente.

set
UpdateInput!
Obrigatório. Um objeto que define um novo valor para um ou mais campos no documento. O documento atualizado incluirá os novos valores de campo. Quaisquer campos que você não especificar permanecerão inalterados. O App Services converte automaticamente os tipos do GraphQL no objeto UpdateInput em seu respectivo tipo de BSON.
mutation {
updateOneMovie(
query: { title: "The Room" }
set: { runtime: 99 }
) {
_id
title
}
}

O campo de mutação de atualização de vários documentos usa o nome updateMany<Type>s, em que <Type> é o nome singular do tipo de dados que a coleta contém. Retorna um documento UpdateManyPayload que descreve o número de campos que foram correspondidos e modificados e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Opcional. Um objeto que configura quais documentos da coleção atualizar. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um argumento query, a mutação atualizará o primeiro documento no conjunto de resultados, que provavelmente será o documento inserido mais recentemente.

set
Obrigatório. Um objeto que define um novo valor para um ou mais campos no documento. O documento atualizado incluirá os novos valores de campo. Quaisquer campos que você não especificar permanecerão inalterados. O App Services converte automaticamente os tipos do GraphQL no objeto UpdateInput em seu respectivo tipo de BSON.
mutation {
updateManyMovies(
query: { director: "Tommy Wiseau" }
set: { director: "Tom Wiseau" }
) {
matchedCount
modifiedCount
}
}

O campo de mutação de inserir de documento único usa o nome upsertOne<Type>, em que <Type> é o nome singular do tipo de dados que a coleção contém. Esse resolvedor atualiza um documento que corresponde ao parâmetro de consulta e insere um novo documento se nenhum corresponder à consulta. Ele retorna o documento inserido e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Opcional. Um objeto que configura qual documento atualizar. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um argumento query ou nenhum documento corresponder, a mutação inserirá o documento especificado no parâmetro data .

data
Obrigatório. O documento a inserir se o query não corresponder a nenhum documento existente. Se o query corresponder a um documento, ele substituirá o documento que passou pela query. Se o esquema de collection marcar um campo como obrigatório, esse documento deverá incluir um valor válido para esse campo. O App Services converte automaticamente os tipos do GraphQL no objeto de InsertInput em seu respectivo tipo de BSON.
mutation {
upsertOneMovie(
query: { title: "Blacksmith Scene" }
data: {
title: "Sandcastles in the Sand",
director: "Robin Scherbatsky"
runtime: 90
year: 2002
}
) {
_id
title
}
}

O campo de mutação de substituição de documento único usa o nome replaceOne<Type>, em que <Type> é o nome singular do tipo de dados que a coleção contém. Ele retorna o documento substituído e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Opcional. Um objeto que configura quais documentos na coleção substituir. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um argumento query , a mutação substituirá o primeiro documento no conjunto de resultados, que provavelmente será o documento inserido mais recentemente.

data
Obrigatório. O documento que substitui o documento consultado. Se o esquema de coleção marcar um campo como obrigatório, esse documento deverá incluir um valor válido para esse campo. O App Services converte automaticamente os tipos do GraphQL no objeto InsertInput em seu respectivo tipo de BSON.
mutation {
replaceOneMovie(
query: { title: "Blacksmith Scene" }
data: {
title: "Sandcastles in the Sand",
director: "Robin Scherbatsky"
runtime: 90
year: 2002
}
) {
_id
title
}
}

O campo de mutação de exclusão de documento único usa o nome deleteOne<Type>, em que <Type> é o nome singular do tipo de dados que a coleção contém. Ele retorna o documento excluído e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Obrigatório. Um objeto que configura qual documento na coleção excluir. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se a query corresponder a vários documentos, a mutação excluirá o primeiro documento no conjunto de resultados, que provavelmente será o documento inserido mais recentemente.

mutation {
deleteOneMovie(query: { title: "The Room" }) {
_id
title
year
runtime
director
}
}

O campo de mutação de exclusão de múltiplos documentos usa o nome deleteMany<Type>s, em que <Type> é o nome singular do tipo de dados que a coleção contém. Retorna um documento DeleteManyPayload que descreve o número de documentos que foram excluídos e aceita os seguintes parâmetros:

Parâmetro
Tipo
Descrição
query

Opcional. Um objeto que configura quais documentos da coleção excluir. O objeto pode especificar um ou mais campos do tipo de dados e deve incluir um valor para cada campo. A consulta corresponde a todos os documentos que incluem os valores de campo especificados.

Se você não especificar um argumento da query, a mutação excluirá todos os documentos na coleção.

mutation {
deleteManyMovies(query: { director: "Tommy Wiseau" }) {
deletedCount
}
}

Você pode paginar dados em suas consultas com os tipos fornecidos pelo esquema gerado pela GraphQL API.

A API Atlas GraphQL não tem um operador offset, como a documentação GraphQL recomenda para paginação.

Em vez disso, você pode usar os resolvedores de query de localização de vários documentos do esquema gerado com os operadores query, limit e sortBy para paginar os dados.

Para paginar dados em ordem ascendente:

query PaginateAscending(
# Do not include `previousTitle` for the first query
# in a pagination sequence.
$previousTitle: String,
$limit: Int!,
) {
movies(
query: { title_gt: $previousTitle }
limit: $limit
sortBy: TITLE_ASC
) {
title
year
runtime
director
}
}

Para paginar dados em ordem decrescente :

query PaginateAscending(
# Do not include `nextTitle` for the first query
# in a pagination sequence.
$nextTitle: String,
$limit: Int!,
) {
movies(
query: { title_lt: $nextTitle }
limit: $limit
sortBy: TITLE_DESC
) {
title
year
runtime
director
}
}

Para obter um exemplo deste padrão de paginação implementado em um aplicativo cliente, consulte Paginar Dados na documentação do Realm Web SDK.

Observação

Essa abordagem à paginação é semelhante às query de intervalo para drivers do MongoDB Server, conforme descrito na documentação do MongoDB Server.

Voltar

Autenticar solicitações GraphQL