The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

data:
- {_id: 1, y: [{b: 3}, {b: 1}]}
- {_id: 2, y: [{b: 0}, {b: 1}]}
minServerVersion: '3.5.6'
tests:
-
description: "UpdateMany when no documents match arrayFilters"
operation:
name: "updateMany"
arguments:
filter: {}
update:
$set: {"y.$[i].b": 2}
arrayFilters:
- {i.b: 4}
outcome:
result:
matchedCount: 2
modifiedCount: 0
collection:
data:
- {_id: 1, y: [{b: 3}, {b: 1}]}
- {_id: 2, y: [{b: 0}, {b: 1}]}
-
description: "UpdateMany when one document matches arrayFilters"
operation:
name: "updateMany"
arguments:
filter: {}
update:
$set: {"y.$[i].b": 2}
arrayFilters:
- {i.b: 3}
outcome:
result:
matchedCount: 2
modifiedCount: 1
collection:
data:
- {_id: 1, y: [{b: 2}, {b: 1}]}
- {_id: 2, y: [{b: 0}, {b: 1}]}
-
description: "UpdateMany when multiple documents match arrayFilters"
operation:
name: "updateMany"
arguments:
filter: {}
update:
$set: {"y.$[i].b": 2}
arrayFilters:
- {i.b: 1}
outcome:
result:
matchedCount: 2
modifiedCount: 2
collection:
data:
- {_id: 1, y: [{b: 3}, {b: 2}]}
- {_id: 2, y: [{b: 0}, {b: 2}]}