Ich muss einige serverseitige Befehle in meiner Produktions-App ausführen, um einige Daten zu ändern, insbesondere das Hinzufügen einiger Benutzer zu neuen Rollen aus dem alanning: roles-Paket. Mein Produktionsserver wurde mit mup bereitgestellt. Laut den mup-Dokumenten lebt meine App bei/opt // app, also habe ich über ssh navigiert und die Meteor-Shell gestartet. Das scheint nicht zu funktionieren. Hat jemand andere Vorschläge zum Aktualisieren von Benutzerberechtigungen auf einem Produktionsserver?Laufende Meteor-Shell auf dem Produktionsserver im Einsatz mit Meteor
Antwort
Können Sie einen serverseitigen Code schreiben, der auf Meteor.startup läuft und ihn auf dem Server bereitstellen?
Ich denke, das muss ich tun. Klingt wie Meteor-Shell ist nur für Entwicklungszwecke an dieser Stelle: - / – bgmaster
Ich würde nicht empfehlen, dies oft zu tun, aber wenn Sie zuerst eine App einrichten, können Sie die Mongo-Shell auf dem Server ausführen und Meteor Datenbank-Dokumente direkt bearbeiten.
Wenn Sie ssh in den Server und mongo
ausführen, erhalten Sie die Mongo-Shell. Wenn du Meteor Up mongo für dich konfigurieren lässt, hast du Zugriff von localhost ohne jegliche Authentifizierung. Der Name der Datenbank entspricht dem Namen Ihrer App.
Führen Sie show dbs
aus, um die Datenbanken in Mongo aufzulisten.
Führen Sie use myAppDatabaseName
aus, um zu Ihrer App-Datenbank zu wechseln, und führen Sie show collections
aus, um Ihre Sammlungen anzuzeigen.
Es sollte eine users
Sammlung sein.
Sie können hier Standard-Mongo-Abfragen ausführen, sodass db.users.find()
Ihnen alle Ihre Benutzer anzeigt. db.users.findOne({_id: myUserId})
holt einen einzelnen Benutzer.
Für das Rollenpaket ist es wahrscheinlich besser, einen sicheren Code zu erstellen, der beim Start ausgeführt wird, als die Datenbank direkt zu bearbeiten, da ziemlich viel passiert.
"Meteor-Shell" etwas entfernt scheint nicht möglich zu sein, kaufen Sie können [+1 dieses Problem] (https://github.com/meteor/meteor/issues/4203). –