What you want to look into is the Update method with an update argument that specifies which fields you want to update.
You can use the Update builder to build the update argument value. Look into:
Update.Set(name, value)
Update.Push(name, value)
(there are many more also).
You can chain Update methods together to update more than one field at a time.
There is currently no built in change tracking, so you would have to keep track of which fields have changed yourself, and build the update argument based on your knowledge of what changed.
There is also a pending JIRA feature request that is related to this. See:
https://jira.mongodb.org/browse/CSHARP-237
Please comment or vote on the JIRA if you want.