MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB .Net-Treiber 2.0 Pull (Element entfernen)

Wenn Sie einen Filter verwenden, um Array-Elemente zu entfernen, müssen Sie den PullFilter verwenden builder statt Pull (was mit ganzen Elementen übereinstimmt).

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;

Oder etwas prägnanter mit Lambdas:

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