@@ -129,24 +129,10 @@ def test_filter_on_reverse_foreignkey_relation(self):
129129 {
130130 "$lookup" : {
131131 "from" : "queries__orderitem" ,
132- "let" : {"parent__field__0" : "$_id" },
133- "pipeline" : [
134- {
135- "$match" : {
136- "$and" : [
137- {
138- "$expr" : {
139- "$and" : [
140- {"$eq" : ["$$parent__field__0" , "$order_id" ]}
141- ]
142- }
143- },
144- {"status" : ObjectId ("6891ff7822e475eddc20f159" )},
145- ]
146- }
147- }
148- ],
132+ "localField" : "_id" ,
133+ "foreignField" : "order_id" ,
149134 "as" : "queries__orderitem" ,
135+ "pipeline" : [{"$match" : {"status" : ObjectId ("6891ff7822e475eddc20f159" )}}],
150136 }
151137 },
152138 {"$unwind" : "$queries__orderitem" },
@@ -172,24 +158,10 @@ def test_filter_on_local_and_nested_join_fields(self):
172158 {
173159 "$lookup" : {
174160 "from" : "queries__orderitem" ,
175- "pipeline" : [
176- {
177- "$match" : {
178- "$and" : [
179- {
180- "$expr" : {
181- "$and" : [
182- {"$eq" : ["$$parent__field__0" , "$order_id" ]}
183- ]
184- }
185- },
186- {"status" : ObjectId ("6891ff7822e475eddc20f159" )},
187- ]
188- }
189- }
190- ],
161+ "localField" : "_id" ,
162+ "foreignField" : "order_id" ,
163+ "pipeline" : [{"$match" : {"status" : ObjectId ("6891ff7822e475eddc20f159" )}}],
191164 "as" : "queries__orderitem" ,
192- "let" : {"parent__field__0" : "$_id" },
193165 }
194166 },
195167 {"$unwind" : "$queries__orderitem" },
@@ -281,25 +253,14 @@ def test_push_equality_between_parent_and_child_fields(self):
281253 [
282254 {
283255 "$lookup" : {
284- "as" : "queries__orderitem" ,
285256 "from" : "queries__orderitem" ,
286- "let" : {"parent__field__0" : "$_id" , "parent__field__1" : "$_id" },
257+ "let" : {"parent__field__0" : "$_id" },
287258 "pipeline" : [
288- {
289- "$match" : {
290- "$and" : [
291- {
292- "$expr" : {
293- "$and" : [
294- {"$eq" : ["$$parent__field__0" , "$order_id" ]}
295- ]
296- }
297- },
298- {"$expr" : {"$eq" : ["$status" , "$$parent__field__1" ]}},
299- ]
300- }
301- }
259+ {"$match" : {"$expr" : {"$eq" : ["$status" , "$$parent__field__0" ]}}}
302260 ],
261+ "as" : "queries__orderitem" ,
262+ "localField" : "_id" ,
263+ "foreignField" : "order_id" ,
303264 }
304265 },
305266 {"$unwind" : "$queries__orderitem" },
@@ -321,17 +282,10 @@ def test_simple_related_filter_is_pushed(self):
321282 {
322283 "$lookup" : {
323284 "from" : "queries__library_readers" ,
324- "pipeline" : [
325- {
326- "$match" : {
327- "$expr" : {
328- "$and" : [{"$eq" : ["$$parent__field__0" , "$library_id" ]}]
329- }
330- }
331- }
332- ],
285+ "pipeline" : [],
333286 "as" : "queries__library_readers" ,
334- "let" : {"parent__field__0" : "$_id" },
287+ "localField" : "_id" ,
288+ "foreignField" : "library_id" ,
335289 }
336290 },
337291 {"$unwind" : "$queries__library_readers" },
@@ -440,17 +394,10 @@ def test_filter_on_local_and_related_fields(self):
440394 {
441395 "$lookup" : {
442396 "from" : "queries__library_readers" ,
443- "pipeline" : [
444- {
445- "$match" : {
446- "$expr" : {
447- "$and" : [{"$eq" : ["$$parent__field__0" , "$library_id" ]}]
448- }
449- }
450- }
451- ],
397+ "localField" : "_id" ,
398+ "foreignField" : "library_id" ,
399+ "pipeline" : [],
452400 "as" : "queries__library_readers" ,
453- "let" : {"parent__field__0" : "$_id" },
454401 }
455402 },
456403 {"$unwind" : "$queries__library_readers" },
@@ -482,17 +429,10 @@ def test_annotate_foreign_field(self):
482429 {
483430 "$lookup" : {
484431 "from" : "queries__library_readers" ,
485- "pipeline" : [
486- {
487- "$match" : {
488- "$expr" : {
489- "$and" : [{"$eq" : ["$$parent__field__0" , "$library_id" ]}]
490- }
491- }
492- }
493- ],
432+ "localField" : "_id" ,
433+ "foreignField" : "library_id" ,
434+ "pipeline" : [],
494435 "as" : "queries__library_readers" ,
495- "let" : {"parent__field__0" : "$_id" },
496436 }
497437 },
498438 {
@@ -564,17 +504,10 @@ def test_or_with_mixed_pushable_and_non_pushable_fields(self):
564504 {
565505 "$lookup" : {
566506 "from" : "queries__library_readers" ,
567- "pipeline" : [
568- {
569- "$match" : {
570- "$expr" : {
571- "$and" : [{"$eq" : ["$$parent__field__0" , "$library_id" ]}]
572- }
573- }
574- }
575- ],
507+ "localField" : "_id" ,
508+ "foreignField" : "library_id" ,
509+ "pipeline" : [],
576510 "as" : "queries__library_readers" ,
577- "let" : {"parent__field__0" : "$_id" },
578511 }
579512 },
580513 {
0 commit comments