モディファイアは単なるオブジェクトであることを覚えておくことが重要です。次のオブジェクトリテラル:
{
a: 1, b: 1,
a: 2, b: 2
}
評価対象:
{ a: 2, b: 2 }
キーが2回割り当てられ、最後の書き込みが優先されるためです。
あなたのコードでは、同じ考えが$addToSet
にも当てはまります および$inc
キー。これを修正するには、update
を記述します このように:
Ideas.update("bKXXrpYmppFBfq9Kx", {
$addToSet: {
score: { userId: someUser._id, score: 1 },
votedOnBy: someUser._id
},
$inc: {
overallScore: 1,
timesVotedOn: 1
}
});