Acabei de perder 1 hora com um problema semelhante. Eu usei
_.assign{In}()
, então _.merge()
então tentei também Document#set()
eu sempre terminei com entradas repetidas na matriz. A solução alternativa que funciona para mim
- atribuir
[]
para qualquer array que está prestes a ser definido - então atribua a árvore inteira usando
doc.set(attrs)
Exemplo (no meu caso,
some_problematic_array
causou o mesmo comportamento estranho em questão):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);