2017-02-05 12 views
1

私は、MEANでマルチテナントアプリケーションを作成しようとしています。変数の値に基づいて、接続のmongoDB接続フォームプールを選択し、コレクションに対してCURD操作を実行する必要があります。MEANアプリケーションのテナンシー

var mongoose = require('mongoose'); 
var connectionPool = {}; 

connectionPool['dbName1'] = mongoose.createConnection('mongodb://localhost/database1'); 

connectionPool['dbName2'] = mongoose.createConnection('mongodb://localhost/database2'); 

connectionPool['dbName3'] = mongoose.createConnection('mongodb://localhost/database3'); 

CURD操作を行うときに接続オブジェクトが機能しないという問題があります。

エラー - 。。db.collection(...)(...)を見つけるのexec関数

おかげではありません。

答えて

1

mongodb APIをmongooseと混ぜて使用しています。あなたはmongooseで作業しているので

、あなたは特定の接続に取り付けたモデルを作成することができます

https://stackoverflow.com/a/19475270/2013580

var conn  = mongoose.createConnection('mongodb://localhost/testA'); 
var conn2  = mongoose.createConnection('mongodb://localhost/testB'); 

// stored in 'testA' database 
var ModelA = conn.model('Model', new mongoose.Schema({ 
    title : { type : String, default : 'model in testA database' } 
})); 

// stored in 'testB' database 
var ModelB = conn2.model('Model', new mongoose.Schema({ 
    title : { type : String, default : 'model in testB database' } 
})); 
+0

私は動的にテナントを追加しようとしていた、それをする方法はありますか? –

+0

@utkarshsharmaあなたはすべてそれを動的に行うことができます。すべての接続でモデル定義を設定するだけで、接続パラメータに基づく関数を作成できます。 – zurfyx

関連する問題