diff --git a/app/authorization/server/startup.js b/app/authorization/server/startup.js index 2ca73f01092..7db90f9e32c 100644 --- a/app/authorization/server/startup.js +++ b/app/authorization/server/startup.js @@ -187,7 +187,15 @@ Meteor.startup(function() { }, { fields: { _id: 1 } }); if (!existent) { - Permissions.upsert({ _id: permissionId }, { $set: permission }); + try { + Permissions.upsert({ _id: permissionId }, { $set: permission }); + } catch (e) { + if (!e.message.includes('E11000')) { + // E11000 refers to a MongoDB error that can occur when using unique indexes for upserts + // https://docs.mongodb.com/manual/reference/method/db.collection.update/#use-unique-indexes + Permissions.upsert({ _id: permissionId }, { $set: permission }); + } + } } delete previousSettingPermissions[permissionId];