---
schema_version: "1"
id: d7382d54e4d5d5b6f3d27c14c3cc913bc36c793979ac22bcb7ac5f7fe06fc3ec
title: update
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/dataweave/latest/dw-values-functions-update.md
canonical_url: https://docs.mulesoft.com/dataweave/latest/dw-values-functions-update
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 2819993c4df65340f7335da50d13c8c2ac5e51af0c1a32d411e6dc5eed559047
description: MuleSoft Documentation Site
release: "2.13"
latest: true
---
---
product: DataWeave
version: 2.13
is-latest-version: true
---

# update

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

## update(objectValue: Object, fieldName: String): UpdaterValueProvider<Object>

This `update` function updates a field in an object with the specified string value.

The function returns a new object with the specified field and value.

_Introduced in DataWeave version 2.2.2._

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>objectValue</code></p></td><td><p>The object to update.</p></td></tr><tr><td><p><code>fieldName</code></p></td><td><p>A string that provides the name of the field.</p></td></tr></tbody></table>

### Example

This example updates the `name` field in the object `{name: "Mariano"}` with the specified value.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/json
---
{name: "Mariano"} update "name" with "Data Weave"
```

#### Output

```Json
{
  "name": "Data Weave"
}
```

## update(objectValue: Object, fieldName: PathElement): UpdaterValueProvider<Object>

This `update` function updates an object field with the specified `PathElement` value.

The function returns a new object with the specified field and value.

_Introduced in DataWeave version 2.2.2._

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>objectValue</code></p></td><td><p>The object to update.</p></td></tr><tr><td><p><code>fieldName</code></p></td><td><p>A <code>PathElement</code> that specifies the field name.</p></td></tr></tbody></table>

### Example

This example updates the value of a `name` field in the object `{name: "Mariano"}`. It uses
`field("name")` to return the `PathElement` that it passes to `update`. It uses `with "Data Weave"`
to specify the value (`Data Weave`) of `name`.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/json
---
{name: "Mariano"} update field("name") with "Data Weave"
```

#### Output

```Json
{
  "name": "Data Weave"
}
```

## update(arrayValue: Array, indexToUpdate: Number): UpdaterValueProvider<Array>

Updates an array index with the specified value.

This `update` function returns a new array that changes the value of the specified index.

_Introduced in DataWeave version 2.2.2._

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>objectValue</code></p></td><td><p>The array to update.</p></td></tr><tr><td><p><code>indexToUpdate</code></p></td><td><p>The index of the array to update. The index must be a number.</p></td></tr></tbody></table>

### Example

This example replaces the value `2` (the index is `1`) with `5` in the the input array `[1,2,3]`.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/json
---
[1,2,3] update 1 with 5
```

#### Output

```Json
[
   1,
   5,
   3
 ]
```

## update(arrayValue: Array, indexToUpdate: String): UpdaterValueProvider<Array>

This `update` function updates all objects within the specified array with the given string value.

_Introduced in DataWeave version 2.2.2._

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>objectValue</code></p></td><td><p>The array of objects to update.</p></td></tr><tr><td><p><code>indexToUpdate</code></p></td><td><p>A string providing the name of the field to update.</p></td></tr></tbody></table>

### Example

This example updates value of the `role` fields in the array of objects.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/json
---
[{role: "a", name: "spiderman"}, {role: "b", name: "batman"}] update "role" with "Super Hero"
```

#### Output

```Json
[{
   "role": "Super Hero",
   "name": "spiderman"
 },
 {
   "role": "Super Hero",
   "name": "batman"
}]
```

## update(arrayValue: Array, indexToUpdate: PathElement): UpdaterValueProvider<Array>

This `update` function updates the specified index of an array with the given `PathElement` value.

The function returns a new array that contains given value at the specified index.

_Introduced in DataWeave version 2.2.2._

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>objectValue</code></p></td><td><p>The array to update.</p></td></tr><tr><td><p><code>indexToUpdate</code></p></td><td><p>The index of the array to update. The index must be specified as a <code>PathElement</code>.</p></td></tr></tbody></table>

### Example

This example updates the value of an element in the input array. Notice that it uses `index(1)` to
return the index as a `PathElement`, which it passes to `update`. It replaces the value `2` at that
index with `5`.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/json
---
[1,2,3] update index(1) with 5
```

#### Output

```Json
[
   1,
   5,
   3
 ]
```

## update(value: Array | Object | Null, path: Array<String | Number | PathElement>): UpdaterValueProvider<Array | Object | Null>

Updates the value at the specified path with the given value.

_Introduced in DataWeave version 2.2.2._

### Parameters

<table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><code>objectValue</code></p></td><td><p>The value to update. Accepts an array, object, or null value.</p></td></tr><tr><td><p><code>path</code></p></td><td><p>The path to update. The path must be an array of strings, numbers, or `PathElement`s.</p></td></tr></tbody></table>

### Example

This example updates the name of the user.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/json
---
{user: {name: "Mariano"}} update ["user", field("name")] with "Data Weave"
```

#### Output

```Json
{
   "user": {
     "name": "Data Weave"
   }
 }
```

### Example

This example updates one of the recurring fields.

#### Source

```DataWeave
%dw 2.0
import * from dw::util::Values
output application/xml
---
payload update ["users", "user", "language"] with (if ($ == "English") "Gibberish" else $)
```

#### Input

```XML
<users>
  <user>
    <name>Phoebe</name>
    <language>French</language>
  </user>
  <user>
    <name>Joey</name>
    <language>English</language>
  </user>
</users>
```

#### Output

```XML
<users>
  <user>
    <name>Phoebe</name>
    <language>French</language>
  </user>
  <user>
    <name>Joey</name>
    <language>Gibberish</language>
  </user>
</users>
```

## update(value: Null, toUpdate: Number | String | PathElement): UpdaterValueProvider<Null>

Helper function that enables `update` to work with a `null` value.

_Introduced in DataWeave version 2.2.2._
