9

ノードサーバーに鶏が先か卵が先かという問題があり、ログインしてより多くのユーザーやロールなどを作成するには、特定の権限を持つ特定のロールを持つユーザーが必要です。

初期 ADMIN ロールとそのロールを持つ初期管理ユーザーを作成するようにデータベースを初期化したいと考えています。

IE はスクリプトで開始し、問題に遭遇しました:

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)
});

基本的に、いくつかの問題に遭遇しました。 1. このようなスクリプトを作成できるかどうかよくわかりません。2. ADMIN_ROLE ID を取得して新しい管理者ユーザーに保存する方法

別のアイデア: mongodb に接続して適切なものを挿入する簡単なノード アプリを作成します。誰でも前にこれをしました。

さらに別の:ノード/モンゴにルビーレーキのようなものはありますか? つまり、最初のシードだけが「手動で」いじる必要があるデータではない可能性があります。IE ある時点でデータベースにパッチを適用する必要があるかもしれません。最初のシードとしてパッチ #1 を作成し、必要に応じて将来のパッチを作成できるようにするとよいでしょう。IE はレーキ移行のようなものですか?

mongo データベースをシードする方法に関する他のアイデアはありますか?

4

1 に答える 1