Jeg har lige spildt 1 time på et lignende problem. Jeg har brugt _.assign{In}() , derefter _.merge() prøvede derefter også Document#set() Jeg har altid afsluttet med gentagne indtastninger i array.
Løsningen, der virker for mig
- tildel
[]til ethvert array, der er ved at blive sat - tildel derefter hele træet ved hjælp af
doc.set(attrs)
Eksempel (i mit tilfælde, some_problematic_array forårsaget samme mærkelige adfærd som den pågældende):
var attrs = _.pick(req.body, [
'name',
'tags', // ...
"some_problematic_array"
]);
var doc = ///... ;
if( attrs.some_problematic_array ) doc.some_problematic_array = [];
^^^^ ***workaround***
doc.set(attrs);