Ich habe gerade 1 Stunde mit einem ähnlichen Problem verschwendet. Ich habe _.assign{In}()
verwendet , dann _.merge()
dann auch Document#set()
probiert Ich habe immer mit wiederholten Einträgen im Array geendet.
Die Problemumgehung, die für mich funktioniert
- weisen Sie
[]
zu zu jedem Array, das gesetzt werden soll - weisen Sie dann den gesamten Baum mit
doc.set(attrs)
zu
Beispiel (in meinem Fall some_problematic_array
dasselbe seltsame Verhalten wie in Frage verursacht):
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);