Can you help me to run correctly \"Pull (remove)\" with 2.0 driver.
I have a collection like this and I want to remove first follower named as fethiye by follower fi
Assuming you have a collection name Person, You can use PullFilter to remove the records from array
var filterBuilder = Builders.Filter.Eq(person => person.username, "bodrum");
var updateBuilder = Builders.Update.PullFilter(p => p.followerList,
Builders.Filter.Eq(per => per.follower, "fethiye"));
var updateResult = collection.UpdateOne(filterBuilder, updateBuilder);
Console.WriteLine(
$"MatchedCount: {updateResult.MatchedCount}, ModifiedCount: {updateResult.ModifiedCount}");
If we also need to remove array of values inside a filtered document we can replace the update builder with this line
var updateBuilder = Builders.Update.PullFilter(p => p.followerList,
Builders.Filter.In(per => per.follower, new List {"fethiye", "izmir"}));
Also to save many document, updateOne can be replace with updateMany
var updateResult = collection.UpdateMany(filterBuilder, updateBuilder);