Il est important de se rappeler que le modificateur n'est qu'un objet. Le littéral d'objet suivant :
{
a: 1, b: 1,
a: 2, b: 2
}
évalue à :
{ a: 2, b: 2 }
car les clés sont attribuées deux fois et la dernière écriture l'emporte.
Dans votre code, la même idée s'applique au $addToSet
et $inc
clés. Pour résoudre ce problème, écrivez votre update
comme ceci :
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});