1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
runOn:
-
minServerVersion: "3.5.6"
data:
- {_id: 1, y: [{b: 3}, {b: 1}]}
- {_id: 2, y: [{b: 0}, {b: 1}]}
collection_name: &collection_name "test"
database_name: &database_name "crud-tests"
tests:
-
description: "BulkWrite updateOne with arrayFilters"
operations:
-
name: "bulkWrite"
arguments:
requests:
-
# UpdateOne when one document matches arrayFilters
name: "updateOne"
arguments:
filter: {}
update: { $set: { "y.$[i].b": 2 } }
arrayFilters: [ { "i.b": 3 } ]
options: { ordered: true }
result:
deletedCount: 0
insertedCount: 0
insertedIds: {}
matchedCount: 1
modifiedCount: 1
upsertedCount: 0
upsertedIds: {}
expectations:
-
command_started_event:
command:
update: *collection_name
updates:
-
q: {}
u: { $set: { "y.$[i].b": 2 } }
arrayFilters: [ { "i.b": 3 } ]
ordered: true
# TODO: check that these fields do not exist once
# https://jira.mongodb.org/browse/SPEC-1215 has been resolved.
# writeConcern: null
# bypassDocumentValidation: null
command_name: update
database_name: *database_name
outcome:
collection:
data:
- {_id: 1, y: [{b: 2}, {b: 1}]}
- {_id: 2, y: [{b: 0}, {b: 1}]}
-
description: "BulkWrite updateMany with arrayFilters"
operations:
-
name: "bulkWrite"
arguments:
requests:
-
# UpdateMany when multiple documents match arrayFilters
name: "updateMany"
arguments:
filter: {}
update: { $set: { "y.$[i].b": 2 } }
arrayFilters: [ { "i.b": 1 } ]
options: { ordered: true }
result:
deletedCount: 0
insertedCount: 0
insertedIds: {}
matchedCount: 2
modifiedCount: 2
upsertedCount: 0
upsertedIds: {}
expectations:
-
command_started_event:
command:
update: *collection_name
updates:
-
q: {}
u: { $set: { "y.$[i].b": 2 } }
multi: true
arrayFilters: [ { "i.b": 1 } ]
ordered: true
# TODO: check that these fields do not exist once
# https://jira.mongodb.org/browse/SPEC-1215 has been resolved.
# writeConcern: null
# bypassDocumentValidation: null
command_name: update
database_name: *database_name
outcome:
collection:
data:
- {_id: 1, y: [{b: 3}, {b: 2}]}
- {_id: 2, y: [{b: 0}, {b: 2}]}
|