sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan implementeres MongoDB indlejret $elemMatch Query i C#

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.




  1. Opdatering af indlejrede arrays i mongodb

  2. Hvordan implementerer man Redis i CodeIgniter?

  3. MongoDB deleteMany()

  4. MongoDB updateOne()