Zu Content springen
Deutsch
  • Es gibt keine Vorschläge, da das Suchfeld leer ist.

Nutzer als Admin für Unterorganisationen hinzufügen

Um einen Nutzer als Admin für mehrere Organisationen anzulegen, können folgende Schritte in der Datenbank ausgeführt werden:
 

In die Mongo-Shell wechseln und in die richtige DB wechseln:

mongosh

use enginsight

Entsprechende Rolle finden (hier Admin, gilt analog auch für die anderen Rollen)

db.roles.findOne({name:'Administrator'}, {_id:1})

Die ID speichern

Im nächsten Schritt wird die ID des Nutzers gesucht:

db.users.findOne({email:"<MailfromUser>"},{_id:1})

Danach werden die IDs der Unterorganisation gefiltert

db.organisations.find({'cooperation.organisation':ObjectId("<OrgaID>")},{_id:1})

Sollte der Nutzer mit den neuen Berechtigungen schon in der Organisation sein, dann muss diese vorher gelöscht werden:

db.organisations.update({_id:ObjectId("<OrgaID>")},{$pull:{'members':{'user':ObjectId('<NutzerID>')}}})

Nun den Nutzer als Admin zu den Unterorganisationen hinzufügen, dafür gibt es zwei Möglichkeiten:

1. Möglichkeit: Alle IDs in ein Array schreiben


db.organisations.update({_id:{$in: [ObjectId("<Unterorga1>"), ObjectId("<Unterorga2>")]}}, {$push:{
'members':{
roles:[ObjectId("<AdminID>")],
blocked: false,
user: ObjectId("<NutzerID>"),
role: "admin"
}
}})

 

2. Möglichkeit: Den Nutzer pro Unterorganisation hinzufügen


db.organisations.update({_id:ObjectId("<Unterorga1>")}, {$push:{
'members':{
roles:[ObjectId("<AdminID>")],
blocked: false,
user: ObjectId("<NutzerID>"),
role: "admin"
}
}})