MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoose upsert erreur de clé en double

Vous incluez level dans la update paramètre de critères de requête, donc si cela ne correspond pas également à l'enregistrement existant, il essaiera de créer un nouveau document qui échouera l'index unique qui ne couvre que skill et resource .

Essayez de modifier votre update à ceci :

ResourceSkillLevel.update({                                           
    resource: self._id,
    skill: skill._id
}, {$set: {level: level}}, {upsert: true}, cb);