bson/testdata/crud/unified/client-bulkWrite-update-pipeline.yml
2025-03-17 20:58:26 +01:00

134 lines
3.6 KiB
YAML

description: "client bulkWrite update pipeline"
schemaVersion: "1.4" # To support `serverless: forbid`
runOnRequirements:
- minServerVersion: "8.0"
serverless: forbid
createEntities:
- client:
id: &client0 client0
observeEvents: [ commandStartedEvent ]
- database:
id: &database0 database0
client: *client0
databaseName: &database0Name crud-tests
- collection:
id: &collection0 collection0
database: *database0
collectionName: &collection0Name coll0
initialData:
- collectionName: *collection0Name
databaseName: *database0Name
documents:
- {_id: 1, x: 1}
- {_id: 2, x: 2}
_yamlAnchors:
namespace: &namespace "crud-tests.coll0"
tests:
- description: "client bulkWrite updateOne with pipeline"
operations:
- object: *client0
name: clientBulkWrite
arguments:
models:
- updateOne:
namespace: *namespace
filter: { _id: 1 }
update:
- $addFields:
foo: 1
verboseResults: true
expectResult:
insertedCount: 0
upsertedCount: 0
matchedCount: 1
modifiedCount: 1
deletedCount: 0
insertResults: {}
updateResults:
0:
matchedCount: 1
modifiedCount: 1
upsertedId: { "$$exists": false }
deleteResults: {}
expectEvents:
- client: *client0
events:
- commandStartedEvent:
commandName: bulkWrite
databaseName: admin
command:
bulkWrite: 1
errorsOnly: false
ordered: true
ops:
- update: 0
filter: { _id: 1 }
updateMods:
- $addFields:
foo: 1
multi: false
nsInfo:
- ns: *namespace
outcome:
- databaseName: *database0Name
collectionName: *collection0Name
documents:
- {_id: 1, x: 1, foo: 1}
- {_id: 2, x: 2 }
- description: "client bulkWrite updateMany with pipeline"
operations:
- object: *client0
name: clientBulkWrite
arguments:
models:
- updateMany:
namespace: *namespace
filter: {}
update:
- $addFields:
foo: 1
verboseResults: true
expectResult:
insertedCount: 0
upsertedCount: 0
matchedCount: 2
modifiedCount: 2
deletedCount: 0
insertResults: {}
updateResults:
0:
matchedCount: 2
modifiedCount: 2
upsertedId: { "$$exists": false }
deleteResults: {}
expectEvents:
- client: *client0
events:
- commandStartedEvent:
commandName: bulkWrite
databaseName: admin
command:
bulkWrite: 1
errorsOnly: false
ordered: true
ops:
- update: 0
filter: { }
updateMods:
- $addFields:
foo: 1
multi: true
nsInfo:
- ns: *namespace
outcome:
- databaseName: *database0Name
collectionName: *collection0Name
documents:
- {_id: 1, x: 1, foo: 1}
- {_id: 2, x: 2, foo: 1}