Mongoose: データベースを切り替える方法

作成日 2012年09月24日  ·  10コメント  ·  ソース: Automattic/mongoose

mongoシェルでは、次のように実行できます。

use admin
db.auth('user','pass')
use test
db.find()

これは、私が認証されたものに合格することを意味し、それから私はすべてを行うことができます。

私の問題は、マングースで同じ作業を行うにはどうすればよいですか、マングースでdbを切り替えるにはどうすればよいですか?

なぜなら、認証するためにADMIN dbを入力してから、自分の操作で他のdbに変更する必要があるからです。

最も参考になるコメント

他の可能な方法は、URLのクエリパラメータを使用することです

 mongodb://root:pass<strong i="6">@localhost</strong>:27017/mydb?authSource=admin

こちらをご覧ください-> AuthSourceのサポート

全てのコメント10件

接続を承認するには、接続文字列または接続に渡されるパラメータにuname+パスワードを含めます。

こちらの例をご覧ください: http: //mongoosejs.com/docs/api.html#index_Mongoose -createConnection

返信ありがとうございます!
はい、承認する方法を知っています。 しかし、承認後、mongoシェルの「useOTHER_DB」が行うことをデータベースに切り替えるにはどうすればよいですか。

マングースではサポートされていません。 新しい接続が必要です。

2012年9月24日午後8時57分、 RexHuangnotifications @github.comは次のように書いています。

返信ありがとうございます!
はい、承認する方法を知っています。 しかし、承認後、mongoシェルの「useOTHER_DB」が行うことをデータベースに切り替えるにはどうすればよいですか。

\
このメールに直接返信するか、GitHubで表示してください。

mongodbに接続するのに問題がありました-cozauthは、「admin」(標準)のような特定のデータベースに私を連れて行きます。 しかし、マングースはどうですか? authオプション内でのみauthSourceを設定します...。

var db = mongoose.createConnection(
  "localhost", 
  "myCostumDB", 
  "27010", 
  {
    user: "root",
    pass: "mypass",
    auth: {
      authSource: "admin" //<-- That is the Point.....
    }
  }
);

良い主よ、これを見つけるのがどれほど大変だったか信じられません。 @MNeundorfに、さらに髪を引っ張るのを助けてくれてありがとう。

他の可能な方法は、URLのクエリパラメータを使用することです

 mongodb://root:pass<strong i="6">@localhost</strong>:27017/mydb?authSource=admin

こちらをご覧ください-> AuthSourceのサポート

@Naxmeifyあなたは私の命を救う...! ありがとう!

@Naxmeifyあなたも私の命を救う...! ありがとう!

@naxmefyあなたも私の命を救います! ありがとう!

同じページでユーザーログインポータルを管理者ログインポータルに変更するにはどうすればよいですか?

このページは役に立ちましたか?
0 / 5 - 0 評価