Buscar un objeto específico por clave primaria
Si conoce la clave principal de un objeto determinado, puede buscarla directamente con Reino.objectForPrimaryKey().
const myTask = realm.objectForPrimaryKey("Task", 12342245); // search for a realm object with a primary key that is an int.
Query an Object Type
Para consultar objetos de un tipo específico en un realm, pasa el nombre del tipo a Realm.objects().
Las operaciones de query devuelven una colección de objetos Realm que coinciden con la query como un objeto Realm.Results. Una query básica coincide con todos los objetos de un tipo dado en un dominio ("realm"), pero también se puede aplicar un filtro a la colección para encontrar objetos específicos.
// Query realm for all instances of the "Task" type. const tasks = realm.objects("Task");
Consultas de filtros
A filter selects a subset of results based on the value(s) of one or more object properties. Realm lets you filter data using Realm Query Language, a string-based query language to constrain searches when retrieving objects from a realm.
Para filtrar una consulta, llame a filtered() en la colección de resultados de la consulta. Pase una consulta de lenguaje de consulta Realm como argumento a filtered().
En el siguiente ejemplo, utilizamos los operadores de comparación del motor de query para:
Encuentre tareas de alta prioridad comparando el valor de la propiedad
prioritycon un número umbral, por encima del cual la prioridad puede considerarse alta.Find just-started or short-running tasks by seeing if the
progressMinutesproperty falls within a certain range.
// 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}` );
Tip
Filter on Related and Embedded Object Properties
To filter a query based on a property of an embedded object or a related object, use dot-notation as if it were in a regular, nested object.
Ordene los resultados del query
Una operación de ordenamiento permite configurar el orden en que Realm devuelve objetos consultados. Puedes ordenar en función de una o más propiedades de los objetos en la colección de resultados. Realm solo garantiza un orden coherente de los resultados si los ordenas explícitamente.
To sort a query, call the sorted() method on the query results collection.
// 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");
Tip
Sort on Related and Embedded Object Properties
Para ordenar una query basada en una propiedad de un objeto incrustado o un objeto relacionado, usa notación de puntos como si fuera un objeto anidado regular.