MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

_.merge clone les sous-documents au lieu de les mettre à jour

Essayez d'utiliser _.extend ou _.assign à la place :

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

Cette réponse par ShitalShah met en évidence les différences entre la fusion et l'extension qui provoquent des doublons dans votre objet résultant avec la fusion, mais essentiellement :

JSBin pour illustrer les différences :

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
  }
}
*/