<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n" -->

---
title: Atomic Data Modifications for Data Connect | daily.dev
description: Firebase Data Connect now supports atomic mutation operators to prevent race conditions when updating counters and lists. New operators include inc and dec for...
canonical: https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Atomic Data Modifications for Data Connect | daily.dev
og:description: Firebase Data Connect now supports atomic mutation operators to prevent race conditions when updating counters and lists. New operators include inc and dec for...
og:url: https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n
og:image: https://api.daily.dev/og/posts/JsSQBEb4N.png
og:image:alt: Atomic Data Modifications for Data Connect
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Atomic Data Modifications for Data Connect

**[Firebase](https://daily.dev/sources/firebase-blog)** · 3 min read · 0 upvotes · 0 comments

## Summary

Firebase Data Connect now supports atomic mutation operators to prevent race conditions when updating counters and lists. New operators include inc and dec for numeric and date/timestamp fields, and add, remove, append, and prepend for list fields (excluding Vector lists). Examples show a banking app balance update and a todo list app managing items, illustrating how add differs from append by skipping duplicates.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2025/05/dataconnect-atomic-data-modifications>

## Questions this post answers

### How do I atomically increment a numeric field in Firebase Data Connect?

Use the inc mutation operator on the field, passing the amount to add. For example, updating a bank account balance uses balance_update: { inc: $amount } inside the data block of an update mutation. A matching dec operator decrements the field by the specified amount. Both work on Int, Int64, Float, Date, and Timestamp fields.

_Developers wiring up safe counter updates can track Data Connect changes like this on daily.dev._

### What is the difference between add and append for list fields in Firebase Data Connect?

Append always adds an item to the end of a list even if it already exists, while add only adds the item to the end if it is not already present in the list. Prepend adds an item to the start of the list. These operators work on list types except Vector lists.

_Anyone modeling list fields can follow Data Connect mutation patterns on daily.dev._

### How do I remove an item from a list field in Firebase Data Connect?

Use the remove mutation operator, passing the value to remove inside the items_update block of the update mutation. If the list contains multiple entries matching that value, all matching entries are removed, not just the first one found.

_Teams building todo-list-style apps can keep up with Data Connect operators on daily.dev._

## Similar posts on daily.dev

- [Introducing Atomic Counters and Batch Sets for Serverless Data](https://daily.dev/posts/introducing-atomic-counters-and-batch-sets-for-serverless-data-bikbilmat) · Serverless · 0 upvotes · 0 comments
- [How Firestore Structures Data and How to Perform CRUD Operations With It](https://daily.dev/posts/how-firestore-structures-data-and-how-to-perform-crud-operations-with-it-odioykply) · freeCodeCamp · 1 upvotes · 0 comments
- [The Concurrency Bug That Quietly Breaks Fintech Apps](https://daily.dev/posts/the-concurrency-bug-that-quietly-breaks-fintech-apps-qqogb3pas) · Medium · 0 upvotes · 0 comments
- [Spanner removes DML mutation limits](https://daily.dev/posts/spanner-removes-dml-mutation-limits-769lijc0p) · Google Cloud · 2 upvotes · 0 comments

---

Tags: [#backend](https://daily.dev/tags/backend), [#graphql](https://daily.dev/tags/graphql), [#firebase](https://daily.dev/tags/firebase)

[View this post on daily.dev](https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Atomic Data Modifications for Data Connect","url":"https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n"},"datePublished":"2026-08-23T12:19:05.411Z","dateModified":"2026-08-24T07:05:24.836Z","description":"Firebase Data Connect now supports atomic mutation operators to prevent race conditions when updating counters and lists. New operators include inc and dec for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/04d3418e26a960506ec936f86c56f33a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/04d3418e26a960506ec936f86c56f33a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"backend,graphql,firebase","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"Atomic Data Modifications for Data Connect"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/atomic-data-modifications-for-data-connect-jssqbeb4n#faq","mainEntity":[{"@type":"Question","name":"How do I atomically increment a numeric field in Firebase Data Connect?","acceptedAnswer":{"@type":"Answer","text":"Use the inc mutation operator on the field, passing the amount to add. For example, updating a bank account balance uses balance_update: { inc: $amount } inside the data block of an update mutation. A matching dec operator decrements the field by the specified amount. Both work on Int, Int64, Float, Date, and Timestamp fields. Developers wiring up safe counter updates can track Data Connect changes like this on daily.dev."}},{"@type":"Question","name":"What is the difference between add and append for list fields in Firebase Data Connect?","acceptedAnswer":{"@type":"Answer","text":"Append always adds an item to the end of a list even if it already exists, while add only adds the item to the end if it is not already present in the list. Prepend adds an item to the start of the list. These operators work on list types except Vector lists. Anyone modeling list fields can follow Data Connect mutation patterns on daily.dev."}},{"@type":"Question","name":"How do I remove an item from a list field in Firebase Data Connect?","acceptedAnswer":{"@type":"Answer","text":"Use the remove mutation operator, passing the value to remove inside the items_update block of the update mutation. If the list contains multiple entries matching that value, all matching entries are removed, not just the first one found. Teams building todo-list-style apps can keep up with Data Connect operators on daily.dev."}}]}
```

