2017-12-18 21 views
0

フロントエンドでReact、バックエンドでNodeJs(API Rest)、データベースとしてMongoDBを使用してSaasとしてPOSを行っています。データベースを動的に切り替える

私は基本的なプログラムを終了しました。今では、自分のデータベースを持つユーザーが登録されていることを望みます。

インターネットでいくつかの記事や質問を読んだ後、私の結論は、フロントエンドがバックエンド(API)を消費するたびにデータベース間で切り替わりました。

一般的なロジック:

  1. ユーザーログイン
  2. でバックエンドでは、私は、ユーザーの資格情報を確認するために、一般的なデータベースを使用しても、私は、このユーザーのデータベースの名前を取得します。
  3. フロントエンドは、次のコードは、APIを使用する必要がありますどのようなデータベースを知っているミドルウェアで実行されているAPIを消費するたびに:私は、スキーマとで固定定義された変数「DB」が
var dbUser = db.useDb('nameDataBaseUser'); 
var Product = dbUser.model('Product', ProductSquema); 

コード:

var db = mongoose.createConnection('mongodb://localhost');

問題:

私は何をしようとしているのかについて正しい解決策があるのか​​どうかはわかりませんが、APIが呼び出されるたびにモデルが常に生成されるのは非効率的です(いくつかのミドルウェアでは4異なるモデル)

質問:

は、これが最良の方法ですか?この問題に直面するような提案はありませんか?

答えて

0

新しいユーザーごとに新しいデータベースを作成することについては不明です。これは複雑さが増し、維持管理が難しく、分析などのためにデータにアクセスすることが困難になります。新しいユーザーごとに新しいコレクションを使用してみませんか?そうすれば、dbアクセス資格情報のセットを1つだけ使用できます。さらに、データを保存すると自動的にCreating a new collection happensになります。

関連する問題