Docs Menu
Docs Home
/ /
SDK de React Native

Datos del modelo - SDK de React Native

Cada objeto de Realm se ajusta a un tipo de objeto específico. Los tipos de objeto son clases que usted define y que contienen las propiedades y relaciones de los objetos de ese tipo mediante un esquema predefinido.

Realm garantiza que todos los objetos de un reino se ajusten al esquema para su tipo de objeto y valida los objetos cada vez que se crean, modifican o eliminan.

Los objetos Realm son fundamentalmente similares a un objeto JavaScript común, pero también incorporan algunas características adicionales como validación de esquema y consultas en vivo.

Los mapas de memoria del SDK de React Native asignan objetos Realm directamente a objetos JavaScript nativos, lo que significa que no es necesario utilizar una biblioteca de acceso a datos especial, como una ORM. En cambio, puedes trabajar con objetos Realm como lo harías con cualquier otro objeto.

Un esquema de dominio es una lista de esquemas de objetos válidos que un dominio puede contener. Cada objeto de dominio debe cumplir con un tipo de objeto incluido en el esquema de su dominio.

Si un realm ya contiene datos cuando lo abres, Realm valida cada objeto para garantizar que se haya proporcionado un esquema de objeto para su tipo y que cumpla con todas las restricciones especificadas en el esquema.

Utilizando @realm/react, define un esquema de reino pasando esquemas de objetos individuales a RealmProvider o createRealmContext().

import Profile from './Models/Profile';
import {createRealmContext} from '@realm/react';
export const SyncedRealmContext = createRealmContext({
// Pass all of your models into the schema value.
schema: [Profile],
});

Se pueden definir relaciones entre objetos de un dominio. Realm modela las relaciones como propiedades de objeto que apuntan a otros objetos de un tipo determinado en el dominio. Se define una relación a nivel de tipo declarando una propiedad en el esquema del tipo cuyo valor corresponde a otro tipo de objeto.

Consultar una relación es tan eficiente como consultar una propiedad normal. Las relaciones son referencias directas a otros objetos, por lo que no es necesario usar uniones ni modelos complejos para definirlas y usarlas como en una base de datos relacional. En su lugar, se puede acceder a los objetos relacionados leyendo y escribiendo directamente en la propiedad de la relación.

Hay tres tipos principales de relaciones entre objetos:

Nota

Realm vs. otras bases de datos

Los objetos suelen contener referencias directas a otros objetos. Al trabajar con objetos y referencias, normalmente se copian datos del almacenamiento de la base de datos a la memoria de la aplicación. Esto permite al desarrollador elegir qué copiar en la memoria:

  • Puede copiar todos los objetos referenciados a la memoria con antelación. Esto significa que todos los datos referenciados siempre están disponibles rápidamente, pero pueden consumir muchos recursos. Si un sistema tiene memoria limitada, esto podría no ser viable.

  • Puedes copiar solo un valor de clave foránea para cada objeto. Posteriormente, puedes usar la clave para buscar el objeto completo cuando lo necesites. Estas búsquedas lentas consumen menos memoria que copiar todos los objetos referenciados con antelación. Sin embargo, requieren mantener más código de consulta y usar búsquedas en tiempo de ejecución que pueden ralentizar la aplicación.

La arquitectura de consultas de Realm evita la disyuntiva entre el uso de memoria y la sobrecarga computacional. En su lugar, las consultas de Realm pueden referenciar directamente los objetos relacionados y sus propiedades en el disco.

Tip

Alternativamente, puede definir sus relaciones en su aplicación App Services.

Volver

Reducir el tamaño del archivo de Realm

En esta página