Hi!
Some changes that I think would make a more popular C# driver:
For example a lot of methods doing similar things such as InsertOne, InsertMany, UpdateOne, UpdateMany...How about just use Insert and Update, and work with params so that one could pass a 1:M.
FindOneAndUpdate?Why not just use update method from above and
mongo.Update(o=>
o.id == xx, object);
or even better mongo.update(obj) with underlying id.
Replace vs Update?Well I am still trying to understand how to update a single field so it would preferble be something like:
mongo.UpdateField(o=>
o.id == xx, o=>o.Field = 123);
Finally all AsQueryable operations should do all processing on db server.
I think that if you get a very clean and neat driver, it would increase usage.