Zahrnujete level
v update
parametr kritéria dotazu, takže pokud také neodpovídá existujícímu záznamu, pokusí se vytvořit nový dokument, který selže s jedinečným indexem, který zahrnuje pouze skill
a resource
.
Zkuste změnit update
na toto:
ResourceSkillLevel.update({
resource: self._id,
skill: skill._id
}, {$set: {level: level}}, {upsert: true}, cb);