|
My apologies for taking so long to come back to this. As part of our effort to reimplement our LINQ translator we are investigating old tickets to see how the new LINQ translator handles the reported issue.
Using the new LINQ implementation the following query expression:
document => document.Details.A.Any(x => x.Any(y => Regex.IsMatch(y.DeviceName, @".Name0.")))
|
Translates to the following filter
{ 'Details.A' : { $elemMatch : { $elemMatch : { DeviceName : /.Name0./ } } } }
|
which matches what you say you want.
I used the following reverse engineered class definitions to write that query against:
public class Document
|
{
|
public int Id { get; set; }
|
public Details Details { get; set; }
|
}
|
|
public class Details
|
{
|
public Device[][] A;
|
}
|
|
public class Device
|
{
|
public string DeviceName { get; set; }
|
}
|
|