J'ai lu quelques autres messages ici sur Stackoverflow mais je n'ai trouvé aucune réponse "générale".Mettre à jour l'objet-élément dans Array dans MongoDB
Disons que j'ai une structure comme ceci:
{
personsName: "Bob",
children: [
{childsName: "Alice", age: "9", weight: "40"}
{childsName: "Peter", age: "12", weight: "80"}
]
}
Maintenant, je veux modifier Peters poids, car il est en fait "45"
J'ai essayé:
.update(
{ personsName: "Bob", children.childsName: "Peter"},
{
$set: {children: {weight :"45" } }
}
)
Pour moi cela devrait fonctionner ... Mise à jour le poids des enfants à "45" pour tous les enfants qui sont nommés "Peter" et appartiennent à "Bob" ... J'ai vu quelques solutions où ils mettent à jour le tableau par index, mais supposons que nous ne connaissons pas l'index, nous voulons mise à jour par la propriété childsName "childsName".
Quelle est la manière générale de faire cela?
voir https://jira.mongodb.org/browse/SERVER-1243 –
Cela semble très bien, mais malheureusement, j'utilise toujours une version plus ancienne et je ne veux pas changer cela dans mon projet MEAN. Il doit y avoir une option pour cela sur la version actuelle aussi ... –
S'il y avait, le billet n'a pas été créé à la première place. Voir ma réponse, si vous êtes satisfait des limites de l'approche. –