Atualizar um objeto
Você pode adicionar, modificar ou excluir propriedades de um Objeto de Realm dentro de uma transação de escrita da mesma maneira que atualizaria qualquer outro 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; });
Dica
Atualizar Objetos Relacionados e Integrados
Para atualizar uma propriedade de um objeto incorporado ou de um objeto relacionado, modifique a propriedade com notação de ponto ou notação entre colchetes como se estivesse em um objeto normal aninhado .
Upsert de Objeto
Para fazer o upsert de um objeto, chame Realm.create() com o modo de atualização definido como modified
. A operação insere um novo objeto com a chave primária fornecida ou atualiza um objeto existente que já tem essa chave primária.
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" ); });
Atualizar em massa uma coleção
Para aplicar uma atualização a uma coleção de objetos, itere pela coleção (por exemplo, com para... de). No loop, atualize 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; } });
Observação
Relações inversas
Graças a um relacionamento inverso de Dog.owner
para Person.dogs
, o Realm atualiza automaticamente a lista de cães de Ali sempre que a definimos como dona de um cachorro.