MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana menerapkan MongoDB bersarang $elemMatch Query di C#

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.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. hapus _id dari hasil mongo

  2. Bagaimana cara mengizinkan data JSON bentuk bebas dalam dokumen Mongoose?

  3. otentikasi mongodb dengan string koneksi

  4. Tidak dapat terhubung ke MongoDB karena URI yang salah

  5. MongoDB $jam