Base44: Bulk Entity Updates with updateMany() and bulkUpdate()

Base44

Base44 introduced two new bulk update methods to its entity SDK: updateMany() and bulkUpdate(). updateMany() applies a uniform set of changes to all records matching a query, processing batches of up to 500 at a time, while bulkUpdate() lets developers update up to 500 specific records simultaneously in a single request. Together, these methods eliminate the need for slow sequential updates in data-heavy workflows, making Base44 a more viable backend for applications that perform bulk data migrations, sync pipelines, or batch processing.


New Bulk Update Methods for the Entity SDK

Base44 expanded its entity SDK on March 16, 2026, with two new handler methods purpose-built for updating multiple records efficiently: updateMany() and bulkUpdate(). Prior to this addition, developers working with large datasets needed to loop through individual update() calls, which was slow and resource-intensive. These two new methods address that gap with different strategies suited to different use cases.

updateMany() β€” Uniform Changes Across Matching Records

The updateMany() method applies the same transformation to every record that matches a query. Its signature is:

updateMany(query: Partial, data: Record<string, Record<string, any>>): Promise

The query parameter accepts MongoDB-style filter operators (eq, ne, gt, in, and, or, exists, regex, and more), giving developers fine-grained control over which records are targeted. The data parameter takes MongoDB update operators (set, inc, push, pull, unset, rename, mul, addToSet) to define what changes to apply.

The method returns an UpdateManyResult object with three fields:

  • success β€” whether the operation succeeded
  • updated β€” the count of records modified
  • has_more β€” a boolean indicating whether more batches remain

Because updateMany() processes records in batches of up to 500, large datasets require repeated calls. When has_more is true, subsequent calls should exclude already-updated records to prevent reprocessing.

bulkUpdate() β€” Per-Record Updates in One Request

The bulkUpdate() method serves a different purpose: updating a specific set of records where each record receives different field values. Its signature is:

bulkUpdate(data: Array<{ id: string; [field: string]: any }>): Promise<T[]>

Each element in the data array must contain an id to identify the target record, along with any fields to update for that specific record. Up to 500 records can be updated per request. The method returns a promise resolving to an array of the updated record objects.

Why These Methods Matter

Together, updateMany() and bulkUpdate() close a significant gap in Base44 entity API. Developers building data-intensive applications β€” import tools, sync workflows, scheduled batch jobs, or admin dashboards with bulk editing β€” can now perform these operations efficiently at the SDK level without resorting to workarounds. The methods complement the existing bulkCreate() method, rounding out the bulk operations surface of the Base44 entity handler.

Both methods respect the 500-record cap per call, consistent with Base44 existing batch operation design across the entity SDK.