runOn: - { minServerVersion: "4.2.0" } data: - {_id: 1, x: 11} - {_id: 2, x: 22} - {_id: 3, x: 33} - {_id: 4, x: 44} collection_name: &collection_name 'test_bulkwrite_update_hint' tests: - description: "BulkWrite updateOne with update hints" operations: - name: "bulkWrite" arguments: requests: - name: "updateOne" arguments: filter: &updateOne_filter { _id: 1 } update: &updateOne_update { $inc: { x: 1 } } hint: &hint_string "_id_" - name: "updateOne" arguments: filter: *updateOne_filter update: *updateOne_update hint: &hint_doc { _id: 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: *updateOne_filter u: *updateOne_update hint: *hint_string - q: *updateOne_filter u: *updateOne_update hint: *hint_doc ordered: true outcome: collection: data: - {_id: 1, x: 13 } - {_id: 2, x: 22 } - {_id: 3, x: 33 } - {_id: 4, x: 44 } - description: "BulkWrite updateMany with update hints" operations: - name: "bulkWrite" arguments: requests: - name: "updateMany" arguments: filter: &updateMany_filter { _id: { $lt: 3 } } update: &updateMany_update { $inc: { x: 1 } } hint: *hint_string - name: "updateMany" arguments: filter: *updateMany_filter update: *updateMany_update hint: *hint_doc options: { ordered: true } result: deletedCount: 0 insertedCount: 0 insertedIds: {} matchedCount: 4 modifiedCount: 4 upsertedCount: 0 upsertedIds: {} expectations: - command_started_event: command: update: *collection_name updates: - q: *updateMany_filter u: *updateMany_update multi: true hint: *hint_string - q: *updateMany_filter u: *updateMany_update multi: true hint: *hint_doc ordered: true outcome: collection: data: - {_id: 1, x: 13 } - {_id: 2, x: 24 } - {_id: 3, x: 33 } - {_id: 4, x: 44 } - description: "BulkWrite replaceOne with update hints" operations: - name: "bulkWrite" arguments: requests: - name: "replaceOne" arguments: filter: { _id: 3 } replacement: { x: 333 } hint: *hint_string - name: "replaceOne" arguments: filter: { _id: 4 } replacement: { x: 444 } hint: *hint_doc 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: { _id: 3 } u: { x: 333 } hint: *hint_string - q: { _id: 4 } u: { x: 444 } hint: *hint_doc ordered: true outcome: collection: data: - {_id: 1, x: 11 } - {_id: 2, x: 22 } - {_id: 3, x: 333 } - {_id: 4, x: 444 }