diff --git a/packages/payload/src/collections/operations/update.ts b/packages/payload/src/collections/operations/update.ts index be735b4f1ce..2c1d2c20700 100644 --- a/packages/payload/src/collections/operations/update.ts +++ b/packages/payload/src/collections/operations/update.ts @@ -244,7 +244,26 @@ export const updateOperation = async < autosave: false, collectionConfig, config, - data: deepCopyObjectSimple(data), + data: (() => { + const dataForDoc = deepCopyObjectSimple(data) + + collectionConfig.fields.forEach((field) => { + if ( + field.type === 'array' && + dataForDoc[field.name] && + Array.isArray(dataForDoc[field.name]) + ) { + dataForDoc[field.name].forEach((row: Record) => { + if (row.id && typeof row.id === 'string') { + delete row.id + } + }) + } + }) + + return dataForDoc + })(), + depth: depth!, docWithLocales, draftArg,