sql >> Database >  >> NoSQL >> MongoDB

Hoe MongoDB geneste $elemMatch Query in C# te implementeren

Nou, eerlijk gezegd is het schrijven van query's in C# een beetje lastig, maar je kunt altijd een trucje uithalen.

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

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

Ik deserialiseer een gewone MongoDB-query in een BsonDocument dat ik in ruil daarvoor doorgeef aan FindAsync als filter.

Uiteindelijk heb je het gewenste resultaat in een variabel resultaat.

Opmerking:ik neem aan dat de MongoDB-verbinding tot stand is gebracht en variabele col bevat een verwijzing naar de MongoDB-verzameling.

BEWERKEN:Zie de volgende link https://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2A. Nu is bevestigd dat het C#-stuurprogramma geen naamloze filters ondersteunt, dus het schrijven van bovenstaande query met behulp van Buidlers<BsonDocument>.Filter wordt momenteel niet ondersteund.

Om een ​​lang verhaal kort te maken, je hebt maar één keuze en dat is vragen zoals ik hierboven in mijn oplossing heb genoemd.




  1. Importeer een CSV-bestand in MongoDB met mongoimport

  2. ClusterControl op AWS implementeren om uw clouddatabase te beheren

  3. CDH 6.2-release:wat is er nieuw in HBase

  4. Werken met twee afzonderlijke redis-instanties met sidekiq?