sql >> Base de Datos >  >> NoSQL >> MongoDB

_.merge clona subdocumentos en lugar de actualizar

Intenta usar _.extend o _.assign en cambio:

var updated = _.assign(entry, req.body);

Esta respuesta por ShitalShah destaca las diferencias entre fusionar y extender que están causando duplicados en su objeto resultante con fusión pero esencialmente:

JSBin para ilustrar las diferencias:

var dest = {
  p: { x: 10, y: 20},
};

var src = {
  p: { x: 20, z: 30},
};

console.log(_.merge(dest, src)); 
/*
[object Object] {
  p: [object Object] {
    x: 20,
    y: 20,
    z: 30
  }
}
*/

console.log(_.extend(dest, src));
/*
[object Object] {
  p: [object Object] {
    x: 20,
    z: 30
  }
}
*/