È importante ricordare che il modificatore è solo un oggetto. Il seguente oggetto letterale:
{
a: 1, b: 1,
a: 2, b: 2
}
restituisce:
{ a: 2, b: 2 }
perché le chiavi vengono assegnate due volte e vince l'ultima scrittura.
Nel tuo codice, la stessa idea si applica a $addToSet
e $inc
chiavi. Per risolverlo, scrivi il tuo update
così:
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});