Exécuter mongodb script une fois pour insérer des données initiales

J'ai un oeuf et de la poule problème avec mon serveur de nœud dans lequel vous devez disposer d'un utilisateur avec un certain rôle qu'a certaines autorisations pour être en mesure de se connecter et de commencer à créer plus d'utilisateurs, rôles, etc.

Je voudrais initialiser la base de données telle que je l'ai créer un premier rôle d'ADMINISTRATEUR et de l'initiale de l'utilisateur admin qui a ce rôle.

I. E. a commencé avec un script et a couru dans des problèmes:

use mydb

db.roles.insert({
  name: "ADMIN_ROLE",
  description: "Administrative role",
  permissions: ['ALL']
});

db.users.insert({
  username: "admin",
  password: "password",
  role: ??? (get ADMIN_ROLE _id from above)
});

Fondamentalement, je suis tombé sur un couple de problèmes:
1. pas vraiment sûr si je peux script comme celui-ci.
2. Comment obtenir ADMIN_ROLE id stocker dans le nouvel admin

Une autre idée:
Écrire un petit nœud application qui se connecte à mongodb et insère le bon stuff. Quiconque fait cela avant.

Et encore un autre:
Est ce que quelque chose comme le rubis râteau existent pour node/mongo. I. E. la graine initiale ne peut pas être les seules données que j'ai besoin de 'manuellement' mess avec. I. E. je pourrais avoir besoin pour corriger la base de données à un certain point dans le temps. Serait sympa de créer un patch #1 comme la graine initiale, et ensuite être capable d'écrire les prochaines mises à jour, si nécessaire, et être en mesure de. I. E. tout comme le râteau migrer?

D'autres idées sur la façon de semences d'une base de données mongo?

OriginalL'auteur lostintranslation | 2013-06-28