Es ist wichtig, sich daran zu erinnern, dass der Modifikator nur ein Objekt ist. Das folgende Objektliteral:
{
a: 1, b: 1,
a: 2, b: 2
}
wird ausgewertet zu:
{ a: 2, b: 2 }
weil die Schlüssel doppelt vergeben werden und der letzte Schreibvorgang gewinnt.
In Ihrem Code gilt die gleiche Idee für $addToSet
und $inc
Schlüssel. Um es zu beheben, schreiben Sie Ihr update
so:
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});