Nå, ærligt at skrive forespørgsler i C# er lidt vanskeligt, men du kan altid spille et trick.
var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);
var result = col.FindSync (filter).ToList();
Jeg deserialiserer en almindelig MongoDB-forespørgsel til et BsonDocument, som jeg til gengæld sender til FindAsync som filter.
I sidste ende vil du have det ønskede resultat i variabelt resultat.
Bemærk:Jeg antager, at MongoDB-forbindelsen er blevet etableret og variabel col
har reference til MongoDB-samling.
EDIT:Se venligst følgende link https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Nu er det bekræftet, at C#-driveren ikke understøtter navnløse filtre, så skriv ovenstående forespørgsel ved hjælp af Buidlers<BsonDocument>.Filter
i øjeblikket understøttes ikke.
Lang historie kort, du har kun ét valg, og det er at forespørge, som jeg nævnte ovenfor i min løsning.