2016-12-20 5 views
1

"dbadmin"という名前の認証用データベースを使用するmongodbデータベースにセイルと接続しようとしています。 DBAは、すべてのユーザーをユーザーデータベースに集約することに決めました。セールでadmin以外のmongoデータベースを使用

私はこの "dbadmin"データベースに接続できますが、その後、そこにコレクションを作成できないという苦情があります。

認証データベースとコレクションのために別のデータベースを使用するにはどうすればよいですか。

答えて

0

接続のURLを使用すると、より多くの可能性があることが判明しました。だから私がしなければならなかったすべてが終わり、あなた例えばauthSource=dbadmin

module.exports = { 

    models: { 
     connection: 'mongoRM' 
    }, 

    connections: { 
     mongoRM: { 
      adapter: 'sails-mongo', 
      url: 'mongodb://user:[email protected]_url:port/database?authSource=dbadmin' 
     } 
    } 
} 
0

あなたの接続設定ファイルの2つのデータベース接続を定義することができ、その後、あなたが直接あなたのデータモデルでの接続を渡すことができ 例を参照してください。

あなたの設定ファイルに を//サーバー/設定/ connections.js

dbadmin: { 
    adapter: 'sails-mongo', 
    host: 'dbadmin-host', 
    port: 27017, 
    user: 'username', 
    password: 'password', 
    database: 'dbadmin' 
    } 

dbuser: { 
    adapter: 'sails-mongo', 
    host: 'dbuser-host', 
    port: 27017, 
    user: 'username', 
    password: 'password', 
    database: 'dbuser' 
    } 

、今、あなたのモデルで使用することができます。 //サーバー/ API /モデル/ AdminUser.js

module.exports = { 
    connection:'dbadmin', 
    attributes: { 

    name : { type: 'string' }, 

    pass : { type: 'string' } 
    } 
}; 

//サーバー/ API /モデル/ Users.js

module.exports = { 
    connection:'dbuser', 
    attributes: { 

    name : { type: 'string' }, 

    pass : { type: 'string' } 
    } 
}; 

注:この2つのモデルの間の任意のコレクションを作成することはできません。

+0

感謝を追加しているが、私は、ユーザーを認証するために別のデータベースを使用してではなく、2つの異なるデータベースを使用して話していました。 – guillem

関連する問題