bson/testdata/crud/v1/write/findOneAndReplace-upsert.yml
2025-03-17 20:58:26 +01:00

92 lines
3.1 KiB
YAML

data:
- {_id: 1, x: 11}
- {_id: 2, x: 22}
- {_id: 3, x: 33}
minServerVersion: '2.6'
tests:
-
description: "FindOneAndReplace when no documents match without id specified with upsert returning the document before modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {x: 44}
projection: {x: 1, _id: 0}
# Omit the sort option as it has no effect when no documents
# match and would only cause an inconsistent return value on
# pre-3.0 servers when combined with returnDocument "before"
# (see: SERVER-17650).
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 without id specified 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}
-
description: "FindOneAndReplace when no documents match with id specified with upsert returning the document before modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {_id: 4, x: 44}
projection: {x: 1, _id: 0}
# Omit the sort option as it has no effect when no documents
# match and would only cause an inconsistent return value on
# pre-3.0 servers when combined with returnDocument "before"
# (see: SERVER-17650).
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 with id specified with upsert returning the document after modification"
operation:
name: findOneAndReplace
arguments:
filter: {_id: 4}
replacement: {_id: 4, 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}