Ik heb net 1 uur verspild aan een soortgelijk probleem. Ik heb _.assign{In}()
gebruikt , dan _.merge()
probeerde vervolgens ook Document#set()
ik ben altijd geëindigd met herhaalde items in de array.
De oplossing die voor mij werkt
- toewijzen
[]
naar elke array die op het punt staat te worden ingesteld - ken vervolgens de hele boom toe met behulp van
doc.set(attrs)
Voorbeeld (in mijn geval some_problematic_array
veroorzaakte hetzelfde vreemde gedrag als in kwestie):
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);