Currently the default write model strategy is replace, there has been requests for performing an update.
replace one (current default) is an upsert, however if the document exists it replaces the whole document with the new one. The problem can be seen if the existing document is:
{_id: 1, a: 0, b: 0, c:0}
and you replace with
{_id: 1, a: 1}
the destination document will be
}}{{{_id: 1, a: 1}{{}}
{{}}
not
{_id: 1, a: 1,b: 0, c:0}
We should add a UpdateOneDefaultStrategy such that the destination document in this scenario will be
{_id: 1, a: 1,b: 0, c:0}