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

Pilote MongoDB .Net 2.0 Pull (supprimer l'élément)

Lorsque vous utilisez un filtre pour supprimer des éléments de tableau, vous devez utiliser le PullFilter builder au lieu de Pull (qui correspond à des éléments entiers).

var collection = db.GetCollection<Person>("people");
var filter = new BsonDocument("username", "bodrum");
var update = Builders<Person>.Update.PullFilter("followerList",
    Builders<Follower>.Filter.Eq("follower", "fethiye"));
var result = collection.FindOneAndUpdateAsync(filter, update).Result;

Ou un peu plus succinctement, en utilisant des lambdas :

var update = Builders<Person>.Update.PullFilter(p => p.followerList,
                                                f => f.follower == "fethiye");
var result = collection
    .FindOneAndUpdateAsync(p => p.username == "bodrum", update).Result;