CRUD - Leitura - Node.js SDK
Nesta página
Encontrar um objeto específico por chave primária
Se você souber a chave primária de um determinado objeto, poderá procurá-la diretamente com Realm.objectForPrimaryKey().
const myTask = realm.objectForPrimaryKey("Task", 12342245); // search for a realm object with a primary key that is an int.
query um Tipo de objeto de Realm
Para consultar objetos de um determinado tipo em um Realm, passe o nome do tipo para Realm.objects().
As operações de query retornam uma coleção de objetos do Realm que correspondem à query como um objeto Realm.Results . Uma query básica corresponde a todos os objetos de um determinado tipo em um domínio, mas você também pode aplicar um filtro à coleção para localizar objetos específicos.
// Query realm for all instances of the "Task" type. const tasks = realm.objects("Task");
Filtrar queries
Um filtro seleciona um subconjunto de resultados com base nos valores de uma ou mais propriedades do objeto. O Realm permite filtrar dados usando a Realm Query Language, uma linguagem de query baseada em strings para restringir as pesquisas ao recuperar objetos de um domínio.
Para filtrar uma query, chame filtered() na coleção de resultados da query. Passe uma query RQL como argumento para filtered()
.
No exemplo a seguir, usamos os operadores de comparação do mecanismo de query para:
Encontre tarefas de alta prioridade comparando o valor da propriedade
priority
com um número limite, acima do qual a prioridade pode ser considerada alta.Encontre tarefas recém-iniciadas ou de curta duração verificando se a propriedade
progressMinutes
está dentro de um determinado intervalo.
// retrieve the set of Task objects const tasks = realm.objects("Task"); // filter for tasks with a high priority const highPriorityTasks = tasks.filtered("priority > $0", 5); // filter for tasks that have just-started or short-running progress const lowProgressTasks = tasks.filtered( "$0 <= progressMinutes && progressMinutes < $1", 1, 10 ); console.log( `Number of high priority tasks: ${highPriorityTasks.length} \n`, `Number of just-started or short-running tasks: ${lowProgressTasks.length}` );
Dica
Filtrar nas Propriedades de Objetos Relacionados e Embarcados
Para filtrar uma consulta com base na propriedade de um objeto incorporado ou de um objeto relacionado, use a notação de pontos como se estivesse em um objeto normal aninhado.
Classificar Resultados da Consulta
Uma operação de classificação permite a você configurar a ordem na qual o Realm retorna objetos consultados. A classificação pode ser feita com base em uma ou mais propriedades dos objetos na coleção de resultados. O Realm só garante a uniformidade na ordem de resultados se você classificá-los explicitamente.
Para classificar uma consulta, chame o método sorted() na coleção de resultados da consulta.
// retrieve the set of Task objects const tasks = realm.objects("Task"); // Sort tasks by name in ascending order const tasksByName = tasks.sorted("name"); // Sort tasks by name in descending order const tasksByNameDescending = tasks.sorted("name", true); // Sort tasks by priority in descending order and then by name alphabetically const tasksByPriorityDescendingAndName = tasks.sorted([ ["priority", true], ["name", false], ]); // Sort dogs by dog's owner's name. let dogsByOwnersName = realm.objects("Dog").sorted("owner.name");
Dica
Classificar nas Propriedades de Objetos Relacionados e Embarcados
Para classificar uma consulta com base em uma propriedade de um objeto incorporado ou de um objeto relacionado, use não anotação como se estivesse em um objeto aninhado regular.