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);