MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zaimplementować MongoDB zagnieżdżone zapytanie $elemMatch w C#

Cóż, uczciwe pisanie zapytań w C# jest trochę trudne, ale zawsze możesz spróbować.

var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);

var result = col.FindSync (filter).ToList();

Deserializuję zwykłe zapytania MongoDB do BsonDocument, które w zamian przekazuję do FindAsync jako filtr.

W końcu uzyskasz pożądany wynik w zmiennym wyniku.

Uwaga:Zakładam, że połączenie MongoDB zostało ustanowione i zmienna col zawiera odniesienie do kolekcji MongoDB.

EDYCJA:Zobacz poniższy link https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Teraz potwierdzono, że sterownik C# nie obsługuje filtrów bez nazwy, więc pisząc powyższe zapytanie przy użyciu Buidlers<BsonDocument>.Filter w tej chwili nie jest obsługiwany.

Krótko mówiąc, pozostaje tylko jeden wybór i jest to zapytanie, jak wspomniałem powyżej w moim rozwiązaniu.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Powolna paginacja ponad tonami rekordów w mongodb

  2. Przegląd walidacji schematu MongoDB

  3. Do jakiego poziomu MongoDB blokuje zapisy? (lub:co to znaczy za połączenie

  4. Dynamiczne połączenie bazy danych z mongodb lub mongoose z nodejs

  5. Znajdź całkowity czas spędzony przez użytkownika w mongoDB