Важно е да запомните, че модификаторът е просто обект. Следният обектен литерал:
{
a: 1, b: 1,
a: 2, b: 2
}
оценява на:
{ a: 2, b: 2 }
тъй като ключовете се присвояват два пъти и последният запис печели.
Във вашия код същата идея се отнася за $addToSet
и $inc
ключове. За да го коригирате, напишете вашата update
като това:
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});