data: - {_id: 1, x: 11} - {_id: 2, x: 'ping'} - {_id: 3, x: 'pINg'} - {_id: 4, x: 'pong'} - {_id: 5, x: 'pONg'} minServerVersion: '3.4' # See: https://docs.mongodb.com/master/reference/collation/#collation-document tests: - description: "BulkWrite with delete operations and collation" operation: name: "bulkWrite" arguments: requests: - # matches two documents but deletes one name: "deleteOne" arguments: filter: { x: "PING" } collation: { locale: "en_US", strength: 2 } - # matches the remaining document and deletes it name: "deleteOne" arguments: filter: { x: "PING" } collation: { locale: "en_US", strength: 2 } - # matches two documents and deletes them name: "deleteMany" arguments: filter: { x: "PONG" } collation: { locale: "en_US", strength: 2 } options: { ordered: true } outcome: result: deletedCount: 4 insertedCount: 0 insertedIds: {} matchedCount: 0 modifiedCount: 0 upsertedCount: 0 upsertedIds: {} collection: data: - {_id: 1, x: 11 } - description: "BulkWrite with update operations and collation" operation: name: "bulkWrite" arguments: requests: - # matches only one document due to strength and updates name: "updateMany" arguments: filter: { x: "ping" } update: { $set: { x: "PONG" } } collation: { locale: "en_US", strength: 3 } - # matches one document and updates name: "updateOne" arguments: filter: { x: "ping" } update: { $set: { x: "PONG" } } collation: { locale: "en_US", strength: 2 } - # matches no document due to strength and upserts name: "replaceOne" arguments: filter: { x: "ping" } replacement: { _id: 6, x: "ping" } upsert: true collation: { locale: "en_US", strength: 3 } - # matches two documents and updates name: "updateMany" arguments: filter: { x: "pong" } update: { $set: { x: "PONG" } } collation: { locale: "en_US", strength: 2 } options: { ordered: true } outcome: result: deletedCount: 0 insertedCount: 0 insertedIds: {} matchedCount: 6 modifiedCount: 4 upsertedCount: 1 upsertedIds: { 2: 6 } collection: data: - {_id: 1, x: 11 } - {_id: 2, x: "PONG" } - {_id: 3, x: "PONG" } - {_id: 4, x: "PONG" } - {_id: 5, x: "PONG" } - {_id: 6, x: "ping" }