Nou, eerlijk gezegd is het schrijven van query's in C# een beetje lastig, maar je kunt altijd een trucje uithalen.
var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);
var result = col.FindSync (filter).ToList();
Ik deserialiseer een gewone MongoDB-query in een BsonDocument dat ik in ruil daarvoor doorgeef aan FindAsync als filter.
Uiteindelijk heb je het gewenste resultaat in een variabel resultaat.
Opmerking:ik neem aan dat de MongoDB-verbinding tot stand is gebracht en variabele
col
bevat een verwijzing naar de MongoDB-verzameling.
BEWERKEN:Zie de volgende link https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Nu is bevestigd dat het C#-stuurprogramma geen naamloze filters ondersteunt, dus het schrijven van bovenstaande query met behulp van Buidlers<BsonDocument>.Filter
wordt momenteel niet ondersteund.
Om een lang verhaal kort te maken, je hebt maar één keuze en dat is vragen zoals ik hierboven in mijn oplossing heb genoemd.