Należy pamiętać, że modyfikator to tylko obiekt. Następujący literał obiektowy:
{
a: 1, b: 1,
a: 2, b: 2
}
ocenia:
{ a: 2, b: 2 }
ponieważ klawisze są przypisane dwukrotnie, a ostatni zapis wygrywa.
W Twoim kodzie ten sam pomysł dotyczy $addToSet
i $inc
Klucze. Aby to naprawić, napisz swoją update
tak:
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});