...
1description: "findOneAndDelete-let"
2
3schemaVersion: "1.0"
4
5createEntities:
6 - client:
7 id: &client0 client0
8 observeEvents: [ commandStartedEvent ]
9 - database:
10 id: &database0 database0
11 client: *client0
12 databaseName: &database0Name crud-tests
13 - collection:
14 id: &collection0 collection0
15 database: *database0
16 collectionName: &collection0Name coll0
17
18initialData: &initialData
19 - collectionName: *collection0Name
20 databaseName: *database0Name
21 documents:
22 - { _id: 1 }
23 - { _id: 2 }
24
25tests:
26 - description: "findOneAndDelete with let option"
27 runOnRequirements:
28 - minServerVersion: "5.0"
29 operations:
30 - name: findOneAndDelete
31 object: *collection0
32 arguments:
33 filter: &filter
34 $expr:
35 $eq: [ "$_id", "$$id" ]
36 let: &let0
37 id: 1
38 expectEvents:
39 - client: *client0
40 events:
41 - commandStartedEvent:
42 command:
43 findAndModify: *collection0Name
44 query: *filter
45 remove: true
46 let: *let0
47 outcome:
48 - collectionName: *collection0Name
49 databaseName: *database0Name
50 documents:
51 - { _id: 2 }
52
53 - description: "findOneAndDelete with let option unsupported (server-side error)"
54 runOnRequirements:
55 - minServerVersion: "4.2.0"
56 maxServerVersion: "4.4.99"
57 operations:
58 - name: findOneAndDelete
59 object: *collection0
60 arguments:
61 filter: &filter1
62 $expr:
63 $eq: [ "$_id", "$$id" ]
64 let: &let1
65 id: 1
66 expectError:
67 # This error message is consistent between 4.2.x and 4.4.x servers.
68 # Older servers return a different error message.
69 errorContains: "field 'let' is an unknown field"
70 isClientError: false
71 expectEvents:
72 - client: *client0
73 events:
74 - commandStartedEvent:
75 command:
76 findAndModify: *collection0Name
77 query: *filter1
78 remove: true
79 let: *let1
80 outcome:
81 - collectionName: *collection0Name
82 databaseName: *database0Name
83 documents:
84 - { _id: 1 }
85 - { _id: 2 }
86
View as plain text