Du inkluderer level i update forespørgselskriterieparameter, så hvis det ikke også matcher den eksisterende post, vil den prøve at oprette et nyt dokument, som vil fejle det unikke indeks, der kun spænder over skill og resource .
Prøv at ændre din update til dette:
ResourceSkillLevel.update({
resource: self._id,
skill: skill._id
}, {$set: {level: level}}, {upsert: true}, cb);