Actualizar un objeto
Puede agregar, modificar o eliminar propiedades de un objeto Realm dentro de una transacción de escritura de la misma manera que actualizaría cualquier otro objeto JavaScript.
// Open a transaction. realm.write(() => { // Get a dog to update. const dog = realm.objects("Dog")[0]; // Update some properties on the instance. // These changes are saved to the realm. dog.name = "Maximilian"; dog.age += 1; });
Tip
Actualizar objetos relacionados y incrustados
Para actualizar una propiedad de un objeto incrustado o un objeto relacionado, modifique la propiedad con notación de puntos o notación de corchetes como si fuera un objeto regular anidado.
Insertar un objeto
Para insertar un objeto, llame a Realm.create() con el modo de actualización establecido en modifiedLa operación inserta un nuevo objeto con la clave principal dada o actualiza un objeto existente que ya tiene esa clave principal.
realm.write(() => { // Add a new person to the realm. Since nobody with ID 1234 // has been added yet, this adds the instance to the realm. person = realm.create( "Person", { _id: 1234, name: "Joe", age: 40 }, "modified" ); // If an object exists, setting the third parameter (`updateMode`) to // "modified" only updates properties that have changed, resulting in // faster operations. person = realm.create( "Person", { _id: 1234, name: "Joseph", age: 40 }, "modified" ); });
Actualizar colección por lotes
Para aplicar una actualización a una colección de objetos, itere a través de la colección (p. ej., con for...of). En el bucle, actualice cada objeto individualmente:
realm.write(() => { // Create someone to take care of some dogs. const person = realm.create("Person", { name: "Ali" }); // Find dogs younger than 2. const puppies = realm.objects("Dog").filtered("age < 2"); // Loop through to update. for (const puppy of puppies) { // Give all puppies to Ali. puppy.owner = person; } });
Nota
Relaciones inversas
Gracias a una relación inversa de Dog.owner a Person.dogs, Realm actualiza automáticamente la lista de perros de Ali cada vez que la establecemos como la dueña de un cachorro.