Realm.collection

Classe base abstrata contendo métodos compartilhados por Realm.List e Realm.Results.

Uma collection Realm é uma sequência uniforme de valores de qualquer um dos tipos que podem ser armazenados como propriedade de Objeto de Realm. Uma collection pode ser acessada de qualquer uma das maneiras que uma matriz JavaScript normal pode, incluindo assinaturas, enumeração com for-of e assim por diante.

Uma collection sempre reflete o estado atual do Realm. A única exceção a isso é ao usar a enumeração for...in ou for...of , que sempre enumerará os objetos que correspondem à query quando a enumeração for iniciada, mesmo que alguns deles sejam excluídos ou modificados para serem excluídos pelo filtro durante a enumeração.

Desde: 0.11.0
Tamanho
Somente leitura

O número de valores na collection.

Tipo:
number
opcional
Somente leitura

Se null é um valor válido para a coleção.

Tipo:
boolean
type
Somente leitura

O tipo de valores na collection.

Tipo:
string
addListener(chamada de resposta)

Adicione um ouvinte callback que será chamado quando uma instância de collection ativa for alterada.

Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Uma função a ser chamada quando ocorrem alterações. A função de chamada de resposta é chamada com dois argumentos:

      • collection: a instância da collection que mudou,
      • changes: um dicionário com chaves insertions , newModifications , oldModifications e deletions , cada um contendo uma lista de índices na coleção que foram inseridos, atualizados ou excluídos respectivamente. deletions e oldModifications são índices da coleção antes da alteração acontecer, enquanto insertions e newModifications são índices da nova versão da coleção.
Lança:
  • Error
    • Se callback não for uma função.

Exemplo:
wines.addListener((collection, changes) => {
 // collection === wines
 console.log(`${changes.insertions.length} insertions`);
 console.log(`${changes.modifications.length} modifications`);
 console.log(`${changes.deletions.length} deletions`);
 console.log(`new size of collection: ${collection.length}`);
});
avg(propriedade)number

Calcula a média dos valores na collection ou da propriedade fornecida entre todos os objetos na collection, ou undefined se a collection estiver vazia.

Suportado apenas para propriedades int, float e double. Os valores de null são totalmente ignorados por este método e não serão contabilizados na média.

Parâmetros:
  • propriedade opcional
    • Tipo: string
    • Para uma collection de objeto, a propriedade para obter a média de.

Lança:
  • Error
    • Se nenhuma propriedade com o nome existir ou se a propriedade não for numérica.

Retorna: number a soma.
entradas()Iterator<T>
Retorna: Iterator<T> de cada par [index, object] na collection
cada(chamada de resposta, esteArg)boolean
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Se esta função retornar true para cada objeto, este método retornará true. Esta função usa três argumentos:

      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • esteArg opcional
    • Tipo: object
    • O valor de this quando callback é chamado.

Retorna: boolean representando se callback retornou true para cada objeto na collection.
filtrado(query, arg)Realm.Results<T>

Retorna novos resultados que representam essa coleção sendo filtrada pela consulta fornecida.

Parâmetros:
  • Query
    • Tipo: string
    • Query usada para filtrar objetos da collection.

  • arg opcional repetível
    • Tipo: any
    • Cada argumento subsequente é usado pelos espaços reservados (por exemplo $0, $1, $2, ...) na query.

Lança:
  • Error
    • Se a query ou qualquer outro argumento passado para este método for inválido.

Retorna: Realm.Results<T> filtrado de acordo com a query fornecida. Atualmente, isso só é suportado para collection de objeto de Realm. Consulte query para obter detalhes sobre a query.
Exemplo:
let merlots = wines.filtered('variety == "Merlot" && vintage 
find(chamada de resposta, esteArg)T ou undefined
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Se esta função retornar true, esse objeto será retornado por este método. Esta função usa três argumentos:

      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • esteArg opcional
    • Tipo: object
    • O valor de this quando callback é chamado.

Retorna: T ou undefined se o callback não retornou true para nenhum objeto na collection.
encontrarIndex(chamada de resposta, esteArg)number
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Se esta função retornar true, o índice deste objeto será retornado por este método. Esta função usa três argumentos:

      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • esteArg opcional
    • Tipo: object
    • O valor de this quando callback é chamado.

Retorna: number representando o índice onde o callback retornou true ou -1 se true nunca foi retornado.
forEach(chamada de resposta, esteArg)
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Esta função usa três argumentos:

      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • esteArg opcional
    • Tipo: object
    • O valor de this quando callback é chamado.

indexOf(objeto)number

Encontra o índice do objeto fornecido na collection.

Parâmetros:
  • objeto
    • Tipo: T
    • O valor a pesquisar na collection.

Lança:
  • Error
    • Se o argumento for um Realm.Object que não pertence ao mesmo Realm que a collection.

Retorna: number representando o índice onde o valor foi encontrado ou -1 se não estiver na collection.
isEmpty()boolean

Verifica se esta collection está vazia.

Retorna: boolean indicando se a collection está vazia ou não.
é válido()boolean

Verifica se a collection não foi excluída e faz parte de um Realm válido.

Retorna: boolean indicando se a collection pode ser acessada com segurança.
juntar(separador)string

Une todos os objetos da collection em uma string.

Parâmetros:
  • separador opcional
    • Tipo: string
    • Padrão: ","
    • Uma string para separar os valores de retorno do método toString() que está sendo chamado em cada objeto da collection.

Retorna: string
keys()Iterator<T>
Retorna: Iterator<T> de cada índice na collection
map(chamada de resposta, esteArg)[any, ...]
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Esta função usa três argumentos:

      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • esteArg opcional
    • Tipo: object
    • O valor de this quando callback é chamado.

Retorna: [any, ...] – os valores de retorno de callback depois de ser chamado em cada objeto da collection.
max(propriedade)number

Retorna o valor máximo dos valores na collection ou da propriedade fornecida entre todos os objetos na collection, ou undefined se a collection estiver vazia.

Suportado apenas para propriedades int, float, double e data. Os valores null são totalmente ignorados por este método e não serão retornados.

Parâmetros:
  • propriedade opcional
    • Tipo: string
    • Para uma coleção de objetos, a propriedade para obter o máximo de.

Lança:
  • Error
    • Se não existir nenhuma propriedade com o nome ou se a propriedade não for numérica/data.

Retorna: number o valor máximo.
min(propriedade)number

Retorna o valor mínimo dos valores na collection ou da propriedade fornecida entre todos os objetos na collection, ou undefined se a collection estiver vazia.

Suportado apenas para propriedades int, float, double e data. Os valores null são totalmente ignorados por este método e não serão retornados.

Parâmetros:
  • propriedade opcional
    • Tipo: string
    • Para uma coleção de objetos, a propriedade para usar o mínimo de.

Lança:
  • Error
    • Se não existir nenhuma propriedade com o nome ou se a propriedade não for numérica/data.

Retorna: number o valor mínimo.
reduzir(callback, initialValue)any
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Esta função usa quatro argumentos:

      • previousValue – O valor retornado anteriormente na última invocação da chamada de resposta, ou initialValue, se fornecido.
      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • initialValue opcional
    • Tipo: object
    • O valor a ser usado como primeiro argumento para a primeira chamada do callback.

Lança:
  • TypeError
    • Se a collection estiver vazia e nenhum initialValue foi fornecido.

Retorna: any – o valor retornado pela invocação final de callback, exceto para os seguintes casos especiais:
  • Se a collection consistir em um único objeto e nenhum initalValue tiver sido fornecido, esse objeto será retornado.
  • Se a collection estiver vazia, initialValue deverá ser fornecido e será retornado.
reduzirDireita(callback, initialValue)any
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto, da direita para a esquerda, na collection. Esta função usa quatro argumentos:

      • previousValue – O valor retornado anteriormente na última invocação da chamada de resposta, ou initialValue, se fornecido.
      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • initialValue opcional
    • Tipo: object
    • O valor a ser usado como primeiro argumento para a primeira chamada do callback.

Lança:
  • TypeError
    • Se a collection estiver vazia e nenhum initialValue foi fornecido.

Retorna: any – o valor retornado pela invocação final de callback, exceto para os seguintes casos especiais:
  • Se a collection consistir em um único objeto e nenhum initalValue tiver sido fornecido, esse objeto será retornado.
  • Se a collection estiver vazia, initialValue deverá ser fornecido e será retornado.
removeAllListeners()

Remova todos os ouvintes callback da instância de coleção.

removeListener(chamada de resposta)

Remova o ouvinte callback da instância da collection.

Parâmetros:
  • chamada de resposta
    • Tipo: function
    • chamada de resposta que foi adicionada anteriormente como um ouvinte através do método addListener .

Lança:
  • Error
    • Se callback não for uma função.

fatia(início, fim)[T, ...]
Parâmetros:
  • iniciar opcional
    • Tipo: number
    • Padrão: 0
    • O índice inicial. Se negativo, o índice inicial será contado a partir do final da coleta.

  • end opcional
    • Tipo: number
    • O índice final. Os objetos até o índice final, mas não incluindo, serão incluídos no valor de retorno. Se negativo, o índice final será contado a partir do final da collection. Se omitido, todos os objetos do índice inicial serão incluídos no valor de retorno.

Retorna: [T, ...] contendo os objetos do índice inicial até, mas não incluindo, o índice final.
snapshot()Realm.Results<T>

Crie um snapshot da collection.

Os valores adicionados e removidos da coleção original não serão refletidos nos resultados retornados por este método, inclusive se os valores das propriedades forem alterados para fazer com que correspondam ou não aos filtros aplicados.

Este não é um snapshot detalhado. Os objetos de Realm contidos neste snapshot continuarão a ser atualizados à medida que as alterações forem feitas neles e, se forem excluídos do Realm, serão substituídos por null nos respectivos índices.

Lança:
  • Error
    • Ao tirar snapshots de uma collection de tipos primitivos.

Retorna: Realm.Results<T> que não será atualizado ao vivo.
alguns(chamada de resposta, esteArg)boolean
Parâmetros:
  • chamada de resposta
    • Tipo: function
    • Função a ser executada em cada objeto da collection. Se esta função retornar true , este método retornará true . Esta função usa três argumentos:

      • object – O objeto atual que está sendo processado na collection.
      • index – O índice do objeto que está sendo processado na collection.
      • collection – A coleção em si.
  • esteArg opcional
    • Tipo: object
    • O valor de this quando callback é chamado.

Retorna: booleantrue quando callback retorna true para um objeto na collection, caso contrário false.
classificado(descritor, reverso)Realm.Results<T>

Retorna novos resultados que representam uma visualização ordenada desta collection.

Uma coleção de Objetos de Realm pode ser classificada em uma ou mais propriedades desses objetos, ou de propriedades de objetos vinculados por esses objetos. Para ordenar por uma única propriedade, basta passar o nome dessa propriedade para sorted(), opcionalmente seguido por um booleano indicando se a classificação deve ser revertida. Para mais de uma propriedade, você deve passar uma array de descritores de classificação que listam quais propriedades classificar.

Collection de outros tipos classificam nos próprios valores, em vez de propriedade dos valores, e, portanto, nenhum nome de propriedade ou descritores de classificação deve ser fornecido.

Parâmetros:
  • descritor opcional
    • Tipo: string ou [SortDescriptor, ...]
    • O(s) nome(s) da propriedade(s) para classificar a coleção.

  • reverter opcional
    • Tipo: boolean
    • Padrão: false
    • Classifique em ordem decrescente em vez de ascendente. Não pode ser fornecido se descriptor for uma array de descritores de classificação.

Lança:
  • Error
    • Se uma propriedade especificada não existir.

Retorna: Realm.Results<T> classificado de acordo com os argumentos passados.
Exemplos::
// Sort wines by age
wines.sorted('age')
// Sort wines by price in descending order, then sort ties by age in
// ascending order
wines.sorted([['price', false], ['age']])
// Sort a list of numbers in ascending order
let sortedPrices = wine.pricesSeen.sort()
// Sort people by how expensive their favorite wine is
people.sort("favoriteWine.price")
soma(propriedade)number

Calcula a soma dos valores na collection ou da propriedade fornecida entre todos os objetos na collection, ou 0 se a collection estiver vazia.

Suportado apenas para propriedades int, float e double. Os valores null são totalmente ignorados por este método.

Parâmetros:
  • propriedade opcional
    • Tipo: string
    • Para uma coleção de objetos, a propriedade para obter a soma.

Lança:
  • Error
    • Se nenhuma propriedade com o nome existir ou se a propriedade não for numérica.

Retorna: number a soma.
Símbolo.itizer()Iterator<T>

Este é o mesmo método que o método values() . Sua presença torna as collection iteráveis, portanto, podem ser usadas com loops ES6 for-of , operadores de dispersão ... e muito mais.

Retorna: Iterator<T> de cada Objeto de Realm na collection
Exemplo:
for (let object of collection) {
  // do something with each object
}
values()Iterator<T>
Retorna: Iterator<T> de cada Objeto de Realm na collection
Iterador

Este é um iterador ES6.

propriedades:
  • próximo
    • Tipo: function
    • Retorna um objeto com duas propriedades:

      • donetrue se o iterador tiver terminado de iterar pelos itens da collection, caso contrário false
      • value – o próximo item sendo iterado na collection ou undefined quando done for true
  • Símbolo.itizer
    • Tipo: function
    • Esse método simplesmente retorna this, tornando o próprio iterável iterável (ou seja, utilizável em loops for-of , com o operador de distribuição ... e muito mais).

Consulte: protocolo iterador
SortDescriptor

Um descritor de classificação é uma string contendo um ou mais nomes de propriedades separados por pontos ou uma array com dois itens: [propertyName, reverse].

Tipo:
string ou Array