163 lines
5.0 KiB
YAML
163 lines
5.0 KiB
YAML
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 22}
|
|
- {_id: 3, x: 33}
|
|
|
|
tests:
|
|
-
|
|
description: "FindOneAndUpdate when many documents match returning the document before modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter:
|
|
_id: {$gt: 1}
|
|
update:
|
|
$inc: {x: 1}
|
|
projection: {x: 1, _id: 0}
|
|
sort: {x: 1}
|
|
|
|
outcome:
|
|
result: {x: 22}
|
|
collection:
|
|
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 23}
|
|
- {_id: 3, x: 33}
|
|
-
|
|
description: "FindOneAndUpdate when many documents match returning the document after modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter:
|
|
_id: {$gt: 1}
|
|
update:
|
|
$inc: {x: 1}
|
|
projection: {x: 1, _id: 0}
|
|
returnDocument: After
|
|
sort: {x: 1}
|
|
|
|
outcome:
|
|
result: {x: 23}
|
|
collection:
|
|
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 23}
|
|
- {_id: 3, x: 33}
|
|
-
|
|
description: "FindOneAndUpdate when one document matches returning the document before modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter: {_id: 2}
|
|
update:
|
|
$inc: {x: 1}
|
|
projection: {x: 1, _id: 0}
|
|
sort: {x: 1}
|
|
|
|
outcome:
|
|
result: {x: 22}
|
|
collection:
|
|
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 23}
|
|
- {_id: 3, x: 33}
|
|
-
|
|
description: "FindOneAndUpdate when one document matches returning the document after modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter: {_id: 2}
|
|
update:
|
|
$inc: {x: 1}
|
|
projection: {x: 1, _id: 0}
|
|
returnDocument: After
|
|
sort: {x: 1}
|
|
|
|
outcome:
|
|
result: {x: 23}
|
|
collection:
|
|
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 23}
|
|
- {_id: 3, x: 33}
|
|
-
|
|
description: "FindOneAndUpdate when no documents match returning the document before modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter: {_id: 4}
|
|
update:
|
|
$inc: {x: 1}
|
|
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: "FindOneAndUpdate when no documents match with upsert returning the document before modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter: {_id: 4}
|
|
update:
|
|
$inc: {x: 1}
|
|
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: 1}
|
|
-
|
|
description: "FindOneAndUpdate when no documents match returning the document after modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter: {_id: 4}
|
|
update:
|
|
$inc: {x: 1}
|
|
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: "FindOneAndUpdate when no documents match with upsert returning the document after modification"
|
|
operation:
|
|
name: findOneAndUpdate
|
|
arguments:
|
|
filter: {_id: 4}
|
|
update:
|
|
$inc: {x: 1}
|
|
projection: {x: 1, _id: 0}
|
|
returnDocument: After
|
|
sort: {x: 1}
|
|
upsert: true
|
|
|
|
outcome:
|
|
result: {x: 1}
|
|
collection:
|
|
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 22}
|
|
- {_id: 3, x: 33}
|
|
- {_id: 4, x: 1} |