Включвате level в update параметър на критериите за заявка, така че ако това също не съвпада със съществуващия запис, ще се опита да създаде нов документ, който няма да изпълни уникалния индекс, който обхваща само skill и resource .
Опитайте да промените своята update към това:
ResourceSkillLevel.update({
resource: self._id,
skill: skill._id
}, {$set: {level: level}}, {upsert: true}, cb);