Nun, ehrlich gesagt ist das Schreiben von Abfragen in C# etwas knifflig, aber Sie können immer einen Streich spielen.
var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);
var result = col.FindSync (filter).ToList();
Ich deserialisiere eine einfache MongoDB-Abfrage in ein BsonDocument, das ich im Gegenzug als Filter an FindAsync übergebe.
Am Ende haben Sie das gewünschte Ergebnis in einem variablen Ergebnis.
Hinweis:Ich gehe davon aus, dass eine MongoDB-Verbindung hergestellt wurde und die Variable col
enthält Verweis auf die MongoDB-Sammlung.
EDIT:Siehe folgenden Link https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Jetzt wurde bestätigt, dass der C#-Treiber keine namenlosen Filter unterstützt, also schreiben Sie die obige Abfrage mit Buidlers<BsonDocument>.Filter
wird derzeit nicht unterstützt.
Um es kurz zu machen, Sie haben nur eine Wahl und das ist die Abfrage, wie ich sie oben in meiner Lösung erwähnt habe.