Tja, att ärligt skriva frågor i C# är lite knepigt men du kan alltid spela ett trick.
var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);
var result = col.FindSync (filter).ToList();
Jag deserialiserar en vanlig MongoDB-fråga till ett BsonDocument som jag i gengäld skickar till FindAsync som filter.
I slutändan får du önskat resultat i variabelt resultat.
Notera:Jag antar att MongoDB-anslutningen har upprättats och variabeln
col
har hänvisning till MongoDB-samlingen.
EDIT:Se följande länk https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Nu har det bekräftats att C#-drivrutinen inte stöder namnlösa filter så skriv ovanstående fråga med Buidlers<BsonDocument>.Filter
för närvarande stöds inte.
Lång historia kort, du har bara ett val och det är att fråga som jag nämnde ovan i min lösning.