103 lines
3.8 KiB
YAML
103 lines
3.8 KiB
YAML
data:
|
|
- {_id: 1, x: 11}
|
|
- {_id: 2, x: 'ping'}
|
|
- {_id: 3, x: 'pINg'}
|
|
- {_id: 4, x: 'pong'}
|
|
- {_id: 5, x: 'pONg'}
|
|
|
|
minServerVersion: '3.4'
|
|
serverless: 'forbid'
|
|
|
|
# See: https://www.mongodb.com/docs/manual/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" }
|