CRUD Operations

UPDATE

This article provides an overview of the updating documents using the UPDATE and INSERT DQL operations.



Updating with UPDATE

Update operations ensure that only the minimum data necessary to enforce all peers converge on one view of the data replicates across the mesh:



For complete DQL syntax, see Ditto Query Language (DQL) > UPDATE

Updating Multiple Documents in a Collection

UPDATE operates over a condition that allows multiple documents to be updated at the same time.

In the following example, all the red cars in the cars collection are updated to be blue. The documents updated can be referenced by using the mutatedDocumentIDs method on the result.

Swift
Kotlin
JS
Java
C#
C++
Rust


Updating with INSERT

The INSERT operation provides conflict policy options to override default behavior if a document with the same ID already exists. By using the ON ID CONFLICT DO UPDATE policy, inserted documents automatically apply updates for all provided fields.

Updating data using an INSERT operation may cause performance to degrade. This is because when you use an INSERT operation to modify data, all provided fields update, even if they remain unchanged.

To optimize performance and reduce unnecessary overhead, apply most updates in your app through the UPDATE method instead.

Swift
Kotlin
JS
Java
C#
C++
Rust


For complete DQL syntax, see Ditto Query Language (DQL) > INSERT

Updated 12 Mar 2024
Did this page help you?