@@ -79,30 +79,6 @@ describe_only_db('mongo')('Parse.Query hint', () => {
7979 } ) ;
8080 } ) ;
8181
82- it_only_mongodb_version ( '<7' ) ( 'query aggregate with hint string' , async ( ) => {
83- const object = new TestObject ( { foo : 'bar' } ) ;
84- await object . save ( ) ;
85-
86- const collection = await config . database . adapter . _adaptiveCollection ( 'TestObject' ) ;
87- let result = await collection . aggregate ( [ { $group : { _id : '$foo' } } ] , {
88- explain : true ,
89- } ) ;
90- let queryPlanner = result [ 0 ] . stages [ 0 ] . $cursor . queryPlanner ;
91- expect ( queryPlanner . winningPlan . stage ) . toBe ( 'PROJECTION_SIMPLE' ) ;
92- expect ( queryPlanner . winningPlan . inputStage . stage ) . toBe ( 'COLLSCAN' ) ;
93- expect ( queryPlanner . winningPlan . inputStage . inputStage ) . toBeUndefined ( ) ;
94-
95- result = await collection . aggregate ( [ { $group : { _id : '$foo' } } ] , {
96- hint : '_id_' ,
97- explain : true ,
98- } ) ;
99- queryPlanner = result [ 0 ] . stages [ 0 ] . $cursor . queryPlanner ;
100- expect ( queryPlanner . winningPlan . stage ) . toBe ( 'PROJECTION_SIMPLE' ) ;
101- expect ( queryPlanner . winningPlan . inputStage . stage ) . toBe ( 'FETCH' ) ;
102- expect ( queryPlanner . winningPlan . inputStage . inputStage . stage ) . toBe ( 'IXSCAN' ) ;
103- expect ( queryPlanner . winningPlan . inputStage . inputStage . indexName ) . toBe ( '_id_' ) ;
104- } ) ;
105-
10682 it_only_mongodb_version ( '>=7' ) ( 'query aggregate with hint string' , async ( ) => {
10783 const object = new TestObject ( { foo : 'bar' } ) ;
10884 await object . save ( ) ;
@@ -127,31 +103,6 @@ describe_only_db('mongo')('Parse.Query hint', () => {
127103 expect ( queryPlanner . winningPlan . queryPlan . inputStage . inputStage . indexName ) . toBe ( '_id_' ) ;
128104 } ) ;
129105
130- it_only_mongodb_version ( '<7' ) ( 'query aggregate with hint object' , async ( ) => {
131- const object = new TestObject ( { foo : 'bar' } ) ;
132- await object . save ( ) ;
133-
134- const collection = await config . database . adapter . _adaptiveCollection ( 'TestObject' ) ;
135- let result = await collection . aggregate ( [ { $group : { _id : '$foo' } } ] , {
136- explain : true ,
137- } ) ;
138- let queryPlanner = result [ 0 ] . stages [ 0 ] . $cursor . queryPlanner ;
139- expect ( queryPlanner . winningPlan . stage ) . toBe ( 'PROJECTION_SIMPLE' ) ;
140- expect ( queryPlanner . winningPlan . inputStage . stage ) . toBe ( 'COLLSCAN' ) ;
141- expect ( queryPlanner . winningPlan . inputStage . inputStage ) . toBeUndefined ( ) ;
142-
143- result = await collection . aggregate ( [ { $group : { _id : '$foo' } } ] , {
144- hint : { _id : 1 } ,
145- explain : true ,
146- } ) ;
147- queryPlanner = result [ 0 ] . stages [ 0 ] . $cursor . queryPlanner ;
148- expect ( queryPlanner . winningPlan . stage ) . toBe ( 'PROJECTION_SIMPLE' ) ;
149- expect ( queryPlanner . winningPlan . inputStage . stage ) . toBe ( 'FETCH' ) ;
150- expect ( queryPlanner . winningPlan . inputStage . inputStage . stage ) . toBe ( 'IXSCAN' ) ;
151- expect ( queryPlanner . winningPlan . inputStage . inputStage . indexName ) . toBe ( '_id_' ) ;
152- expect ( queryPlanner . winningPlan . inputStage . inputStage . keyPattern ) . toEqual ( { _id : 1 } ) ;
153- } ) ;
154-
155106 it_only_mongodb_version ( '>=7' ) ( 'query aggregate with hint object' , async ( ) => {
156107 const object = new TestObject ( { foo : 'bar' } ) ;
157108 await object . save ( ) ;
@@ -202,39 +153,6 @@ describe_only_db('mongo')('Parse.Query hint', () => {
202153 expect ( explain . queryPlanner . winningPlan . inputStage . inputStage . indexName ) . toBe ( '_id_' ) ;
203154 } ) ;
204155
205- it_only_mongodb_version ( '<7' ) ( 'query aggregate with hint (rest)' , async ( ) => {
206- const object = new TestObject ( { foo : 'bar' } ) ;
207- await object . save ( ) ;
208- let options = Object . assign ( { } , masterKeyOptions , {
209- url : Parse . serverURL + '/aggregate/TestObject' ,
210- qs : {
211- explain : true ,
212- $group : JSON . stringify ( { _id : '$foo' } ) ,
213- } ,
214- } ) ;
215- let response = await request ( options ) ;
216- let queryPlanner = response . data . results [ 0 ] . stages [ 0 ] . $cursor . queryPlanner ;
217- expect ( queryPlanner . winningPlan . stage ) . toBe ( 'PROJECTION_SIMPLE' ) ;
218- expect ( queryPlanner . winningPlan . inputStage . stage ) . toBe ( 'COLLSCAN' ) ;
219- expect ( queryPlanner . winningPlan . inputStage . inputStage ) . toBeUndefined ( ) ;
220-
221- options = Object . assign ( { } , masterKeyOptions , {
222- url : Parse . serverURL + '/aggregate/TestObject' ,
223- qs : {
224- explain : true ,
225- hint : '_id_' ,
226- $group : JSON . stringify ( { _id : '$foo' } ) ,
227- } ,
228- } ) ;
229- response = await request ( options ) ;
230- queryPlanner = response . data . results [ 0 ] . stages [ 0 ] . $cursor . queryPlanner ;
231- expect ( queryPlanner . winningPlan . stage ) . toBe ( 'PROJECTION_SIMPLE' ) ;
232- expect ( queryPlanner . winningPlan . inputStage . stage ) . toBe ( 'FETCH' ) ;
233- expect ( queryPlanner . winningPlan . inputStage . inputStage . stage ) . toBe ( 'IXSCAN' ) ;
234- expect ( queryPlanner . winningPlan . inputStage . inputStage . indexName ) . toBe ( '_id_' ) ;
235- expect ( queryPlanner . winningPlan . inputStage . inputStage . keyPattern ) . toEqual ( { _id : 1 } ) ;
236- } ) ;
237-
238156 it_only_mongodb_version ( '>=7' ) ( 'query aggregate with hint (rest)' , async ( ) => {
239157 const object = new TestObject ( { foo : 'bar' } ) ;
240158 await object . save ( ) ;
0 commit comments