Je důležité si uvědomit, že modifikátor je pouze objekt. Následující objektový literál:
{
a: 1, b: 1,
a: 2, b: 2
}
vyhodnotí jako:
{ a: 2, b: 2 }
protože klíče jsou přiřazeny dvakrát a vyhrává poslední zápis.
Ve vašem kódu platí stejná myšlenka pro $addToSet
a $inc
klíče. Chcete-li to opravit, napište update
takhle:
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});