Je neemt level
op in de update
querycriteria parameter, dus als dat niet ook overeenkomt met het bestaande record, zal het proberen een nieuw document te maken dat niet voldoet aan de unieke index die alleen skill
omvat en resource
.
Probeer uw update
te wijzigen naar dit:
ResourceSkillLevel.update({
resource: self._id,
skill: skill._id
}, {$set: {level: level}}, {upsert: true}, cb);