Bulk operations
Change thousands of documents, carefully
Bulk editing is where database tools usually get frightening. The fix is not fewer features — it is showing you exactly what is about to happen, and letting you take it back.
Bulk delete — matching document count before commit
screenshot pending · 1400×880
Bulk field update
Apply a change across a selection or an entire query result. Operations are sent as Firestore's own server-side transforms, so they are atomic and correct even if the documents are being written concurrently by your app.
Set
Give a field the same value everywhere.
Delete
Remove a field properly, not set it to null.
Increment
Atomic numeric change, no read-then-write race.
Array union / remove
Add or drop array members without clobbering.
Bulk delete that counts first
Write a query, and before anything is deleted FireFetch runs a server-side count and tells you the number:“Found 1,842 documents matching this query.”If that number surprises you, you have learned something important for free.
Confirm, and deletion proceeds in batches of 500 with a live progress readout, and a cancel button that works mid-run. The collection is never loaded into memory, so this behaves the same on 200 documents as on 200,000.
Find and replace that respects types
Most find-and-replace implementations stringify your data, match against the string, and write back a string. That turns a number into text and a timestamp into something unusable.
FireFetch matches on typed rules. A rule that looks for the number42 does not match the string"42", and replacing a value never changes its type unless you asked it to.
Exact
The whole value, with its type.
Contains
Substring match within string fields.
Starts with
Prefix match — useful for migrating id schemes.
Regex
Full pattern matching, with case sensitivity you control.
Replacements are scoped to the filters already applied in your tab, so you can narrow to precisely the documents you mean before writing a rule. And you see a preview of every change before any of it is committed.
Find and replace — preview of pending changes
screenshot pending · 1200×620
All of it undoes
Every operation on this page is recorded in the change history as a single reversible step. A bulk update across four thousand documents is one row in the history panel, and one click to take back.
That is what makes bulk editing usable rather than nerve-wracking: the cost of being wrong is a few seconds, not an incident.
How undo works →