data: - {_id: 1, x: 11} - {_id: 2, x: 22} - {_id: 3, x: 33} minServerVersion: '2.6' tests: - description: "ReplaceOne when many documents match" operation: name: "replaceOne" arguments: filter: _id: {$gt: 1} replacement: {x: 111} outcome: result: matchedCount: 1 modifiedCount: 1 upsertedCount: 0 # Can't verify collection data because we don't have a way of # knowing which document gets updated. - description: "ReplaceOne when one document matches" operation: name: "replaceOne" arguments: filter: {_id: 1} replacement: {_id: 1, x: 111} outcome: result: matchedCount: 1 modifiedCount: 1 upsertedCount: 0 collection: data: - {_id: 1, x: 111} - {_id: 2, x: 22} - {_id: 3, x: 33} - description: "ReplaceOne when no documents match" operation: name: "replaceOne" arguments: filter: {_id: 4} replacement: {_id: 4, x: 1} outcome: result: matchedCount: 0 modifiedCount: 0 upsertedCount: 0 collection: data: - {_id: 1, x: 11} - {_id: 2, x: 22} - {_id: 3, x: 33} - description: "ReplaceOne with upsert when no documents match without an id specified" operation: name: "replaceOne" arguments: filter: {_id: 4} replacement: {x: 1} upsert: true outcome: result: matchedCount: 0 modifiedCount: 0 upsertedCount: 1 upsertedId: 4 collection: data: - {_id: 1, x: 11} - {_id: 2, x: 22} - {_id: 3, x: 33} - {_id: 4, x: 1} - description: "ReplaceOne with upsert when no documents match with an id specified" operation: name: "replaceOne" arguments: filter: {_id: 4} replacement: {_id: 4, x: 1} upsert: true outcome: result: matchedCount: 0 modifiedCount: 0 upsertedCount: 1 upsertedId: 4 collection: data: - {_id: 1, x: 11} - {_id: 2, x: 22} - {_id: 3, x: 33} - {_id: 4, x: 1}