MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quel serait l'équivalent du pilote MongoDB C# de la requête suivante utilisant l'opérateur de mise à jour de tableau $[]

Vous pouvez essayer ci-dessous c# en utilisant à la fois BsonDocument et l'option de chaîne json. Il n'y a pas d'option linq.

var filter = Builders<BsonDocument>.Filter.Empty;
var update = Builders<BsonDocument>.Update.Set("grades.$[elem].mean", 100);
var arrayFilter = new BsonDocumentArrayFilterDefinition<BsonDocument>(new BsonDocument("elem.grade", new BsonDocument("$gte", 85)));
var arrayFilter = new JsonArrayFilterDefinition<BsonDocument>("{ \"elem.grade\": { $gte: 85 } }");
var arrayFilters = new List<ArrayFilterDefinition> { arrayFilter };
var updateOptions = new UpdateOptions();
updateOptions.ArrayFilters = arrayFilters;
var result = collection.UpdateOne(filter, update, updateOptions);