{
"data": [
{
"_id": 1,
"y": [
{
"b": 3
},
{
"b": 1
}
]
},
{
"_id": 2,
"y": [
{
"b": 0
},
{
"b": 1
}
]
},
{
"_id": 3,
"y": [
{
"b": 5,
"c": [
{
"d": 2
},
{
"d": 1
}
]
}
]
}
],
"minServerVersion": "3.5.6",
"tests": [
{
"description": "UpdateOne when no document matches arrayFilters",
"operation": {
"name": "updateOne",
"arguments": {
"filter": {},
"update": {
"$set": {
"y.$[i].b": 2
}
},
"arrayFilters": [
{
"i.b": 4
}
]
}
},
"outcome": {
"result": {
"matchedCount": 1,
"modifiedCount": 0,
"upsertedCount": 0
},
"collection": {
"data": [
{
"_id": 1,
"y": [
{
"b": 3
},
{
"b": 1
}
]
},
{
"_id": 2,
"y": [
{
"b": 0
},
{
"b": 1
}
]
},
{
"_id": 3,
"y": [
{
"b": 5,
"c": [
{
"d": 2
},
{
"d": 1
}
]
}
]
}
]
}
}
},
{
"description": "UpdateOne when one document matches arrayFilters",
"operation": {
"name": "updateOne",
"arguments": {
"filter": {},
"update": {
"$set": {
"y.$[i].b": 2
}
},
"arrayFilters": [
{
"i.b": 3
}
]
}
},
"outcome": {
"result": {
"matchedCount": 1,
"modifiedCount": 1,
"upsertedCount": 0
},
"collection": {
"data": [
{
"_id": 1,
"y": [
{
"b": 2
},
{
"b": 1
}
]
},
{
"_id": 2,
"y": [
{
"b": 0
},
{
"b": 1
}
]
},
{
"_id": 3,
"y": [
{
"b": 5,
"c": [
{
"d": 2
},
{
"d": 1
}
]
}
]
}
]
}
}
},
{
"description": "UpdateOne when multiple documents match arrayFilters",
"operation": {
"name": "updateOne",
"arguments": {
"filter": {},
"update": {
"$set": {
"y.$[i].b": 2
}
},
"arrayFilters": [
{
"i.b": 1
}
]
}
},
"outcome": {
"result": {
"matchedCount": 1,
"modifiedCount": 1,
"upsertedCount": 0
},
"collection": {
"data": [
{
"_id": 1,
"y": [
{
"b": 3
},
{
"b": 2
}
]
},
{
"_id": 2,
"y": [
{
"b": 0
},
{
"b": 1
}
]
},
{
"_id": 3,
"y": [
{
"b": 5,
"c": [
{
"d": 2
},
{
"d": 1
}
]
}
]
}
]
}
}
},
{
"description": "UpdateOne when no documents match multiple arrayFilters",
"operation": {
"name": "updateOne",
"arguments": {
"filter": {
"_id": 3
},
"update": {
"$set": {
"y.$[i].c.$[j].d": 0
}
},
"arrayFilters": [
{
"i.b": 5
},
{
"j.d": 3
}
]
}
},
"outcome": {
"result": {
"matchedCount": 1,
"modifiedCount": 0,
"upsertedCount": 0
},
"collection": {
"data": [
{
"_id": 1,
"y": [
{
"b": 3
},
{
"b": 1
}
]
},
{
"_id": 2,
"y": [
{
"b": 0
},
{
"b": 1
}
]
},
{
"_id": 3,
"y": [
{
"b": 5,
"c": [
{
"d": 2
},
{
"d": 1
}
]
}
]
}
]
}
}
},
{
"description": "UpdateOne when one document matches multiple arrayFilters",
"operation": {
"name": "updateOne",
"arguments": {
"filter": {
"_id": 3
},
"update": {
"$set": {
"y.$[i].c.$[j].d": 0
}
},
"arrayFilters": [
{
"i.b": 5
},
{
"j.d": 1
}
]
}
},
"outcome": {
"result": {
"matchedCount": 1,
"modifiedCount": 1,
"upsertedCount": 0
},
"collection": {
"data": [
{
"_id": 1,
"y": [
{
"b": 3
},
{
"b": 1
}
]
},
{
"_id": 2,
"y": [
{
"b": 0
},
{
"b": 1
}
]
},
{
"_id": 3,
"y": [
{
"b": 5,
"c": [
{
"d": 2
},
{
"d": 0
}
]
}
]
}
]
}
}
}
]
}
|