Existe-t-il un moyen de mettre à jour les valeurs d'un objet ?
{
_id: 1,
name: 'John Smith',
items: [{
id: 1,
name: 'item 1',
value: 'one'
},{
id: 2,
name: 'item 2',
value: 'two'
}]
}
Disons que je veux mettre à jour le nom et la valeur des éléments pour l'élément où id = 2 ;
J'ai essayé ce qui suit avec la mangouste :
var update = {name: 'updated item2', value: 'two updated'};
Person.update({'items.id': 2}, {'$set': {'items.$': update}}, function(err) { ...
Le problème avec cette approche est qu'elle met à jour/réinitialise l'objet entier, donc dans ce cas je perds le champ id.
Existe-t-il un meilleur moyen dans Mongoose pour définir certaines valeurs dans un tableau tout en laissant les autres valeurs intactes ?
J'ai également fait une demande pour la seule personne :
Person.find({...}, function(err, person) {
person.items ..... // I might be able to search through all the items here and find item with id 2 then update the values I want and call person.save().
});