data:
- {_id: 1, x: 11}
- {_id: 2, x: 22}
- {_id: 3, x: 33}
tests:
-
description: "FindOneAndReplace when many documents match returning the document before modification"
operation:
name: findOneAndReplace
arguments:
filter:
_id: {$gt: 1}
replacement: {x: 32}
projection: {x: 1, _id: 0}
sort: {x: 1}
outcome:
result: {x: 22}
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 32}
- {_id: 3, x: 33}
-
description: "FindOneAndReplace when many documents match returning the document after modification"
operation:
name: findOneAndReplace
arguments:
filter:
_id: {$gt: 1}
replacement: {x: 32}
projection: {x: 1, _id: 0}
returnDocument: After
sort: {x: 1}
outcome:
result: {x: 32}
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 32}
- {_id: 3, x: 33}
-
description: "FindOneAndReplace when one document matches returning the document before modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 2}
replacement: {x: 32}
projection: {x: 1, _id: 0}
sort: {x: 1}
outcome:
result: {x: 22}
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 32}
- {_id: 3, x: 33}
-
description: "FindOneAndReplace when one document matches returning the document after modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 2}
replacement: {x: 32}
projection: {x: 1, _id: 0}
returnDocument: After
sort: {x: 1}
outcome:
result: {x: 32}
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 32}
- {_id: 3, x: 33}
-
description: "FindOneAndReplace when no documents match returning the document before modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {x: 44}
projection: {x: 1, _id: 0}
sort: {x: 1}
outcome:
result: null
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 22}
- {_id: 3, x: 33}
-
description: "FindOneAndReplace when no documents match with upsert returning the document before modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {x: 44}
projection: {x: 1, _id: 0}
sort: {x: 1}
upsert: true
outcome:
result: null
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 22}
- {_id: 3, x: 33}
- {_id: 4, x: 44}
-
description: "FindOneAndReplace when no documents match returning the document after modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {x: 44}
projection: {x: 1, _id: 0}
returnDocument: After
sort: {x: 1}
outcome:
result: null
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 22}
- {_id: 3, x: 33}
-
description: "FindOneAndReplace when no documents match with upsert returning the document after modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {x: 44}
projection: {x: 1, _id: 0}
returnDocument: After
sort: {x: 1}
upsert: true
outcome:
result: {x: 44}
collection:
data:
- {_id: 1, x: 11}
- {_id: 2, x: 22}
- {_id: 3, x: 33}
- {_id: 4, x: 44}