-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: 2.4.1
-
Component/s: Linq
-
None
-
Environment:ASP.NET Core
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Using a filter via .Where() inside a Select uses the subdocument's value instead of the parent document's.
i.e:
// Some comments here select new { Prev = prev.Where(x => x.LastActionTime < visit.FirstActionTime && x.VisitorId != null) } into r
Expected result:
"Prev": { "$filter": { "input": "$prev", "as": "x", "cond": { "$and": [ { "$lt": [ "$$x.LastActionTime", "$FirstActionTime" ] }, { "$ne": [ "$$x.VisitorId", null ] } ] } } },
Actual result:
"Prev": { "$filter": { "input": "$prev", "as": "x", "cond": { "$and": [ { "$lt": [ "$$x.LastActionTime", "$$x.FirstActionTime" ] }, { "$ne": [ "$$x.VisitorId", null ] } ] } } },