Sejujurnya, menulis kueri dalam C# agak rumit, tetapi Anda selalu bisa memainkannya.
var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);
var result = col.FindSync (filter).ToList();
Saya mendeserialisasi kueri MongoDB biasa menjadi BsonDocument yang sebagai gantinya saya meneruskan ke FindAsync sebagai filter.
Pada akhirnya, Anda akan mendapatkan hasil yang diinginkan dalam hasil yang bervariasi.
Catatan:Saya berasumsi koneksi MongoDB telah dibuat dan variabel
col
menyimpan referensi ke koleksi MongoDB.
EDIT:Silakan lihat tautan berikut https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Sekarang dipastikan bahwa driver C# tidak mendukung filter tanpa nama, jadi tulis kueri di atas menggunakan Buidlers<BsonDocument>.Filter
saat ini tidak didukung.
Singkat cerita, Anda hanya memiliki satu pilihan dan itu adalah pertanyaan seperti yang saya sebutkan di atas dalam solusi saya.