I have a MongoDB collection in the following format.
{
"_id" : ObjectId("56c6f03ffd07dc1de805e84f"),
"Details" : {
    "a" : [
            [ { 
                "DeviceID" : "log0", 
                "DeviceName" : "Dev0"
              },
              { 
                "DeviceID" : "log1", 
                "DeviceName" : "Dev1"
              }
            ],
            [ { 
                "DeviceID" : "Model0", 
                "DeviceName" : "ModelName0"
              },
              { 
                "DeviceID" : "Model1", 
                "DeviceName" : "ModelName1"
              }
            ]
        ]
    }
}
And I am trying to fetch all the documents where the DeviceName in array "a" contains a particular value, say "Name0". However I could get the desired result while using below Mongo query:
db.test_collection.find({"Details.a":{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}});
Now I am struggling to implement the above query in C#. Can anyone guide me with that?
so far I have tried the below code and it was not working as expected
query = Query.And(Query.ElemMatch("Details.a", Query.And(Query.ElemMatch("DeviceName", Query.Matches("DeviceName", new BsonRegularExpression("Name0"))))));
Thanks in advance