[CSHARP-4738] LINQ3: Support pipeline in $lookup translations (Join/GroupJoin) Created: 01/Aug/23  Updated: 09/Aug/23

Status: Backlog
Project: C# Driver
Component/s: LINQ3
Affects Version/s: 2.20.0
Fix Version/s: None

Type: Improvement Priority: Unknown
Reporter: Alistair Steele Assignee: Robert Stam
Resolution: Unresolved Votes: 0
Labels: LINQ3
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to CSHARP-4246 Support concise syntax for Lookup Backlog

 Description   

I'm trying to do a GroupJoin between two aggregation queries.

i.e. Collection1.OfType<TypeA>().GroupJoin(Collection2.OfType<TypeB>(), ...)

Trying to do this fails currently in ExtensionMethods.GetCollectionInfo as the inner expression is not considered constant.

$lookup looks to support this via the 'pipeline' parameter however there doesn't look to be any way to supply this through LINQ Join/GroupJoin translations.

 

I'm not sure if it's possible to add this support, I guess it would need to separate out the collection (constant expression) from the pipeline and forward the pipeline as the lookup parameter?

 

Thanks



 Comments   
Comment by Robert Stam [ 09/Aug/23 ]

Thanks for reporting this and for finding CSHARP-4246 also.

I'm going to link the two tickets as related rather than as duplicates. CSHARP-4246 is about the aggregation builders. CSHARP-4738 (this ticket) is about similar functionality in LINQ.

Comment by Alistair Steele [ 02/Aug/23 ]

Actually after some further searching it looks like this may already be tracked under CSHARP-4246.

Comment by PM Bot [ 01/Aug/23 ]

Hi alistair.steele@trapdoorlabs.uk, thank you for reporting this issue! The team will look into it and get back to you soon.

Generated at Wed Feb 07 21:49:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.