mongoシェルでは、次のように実行できます。
use admin
db.auth('user','pass')
use test
db.find()
これは、私が認証されたものに合格することを意味し、それから私はすべてを行うことができます。
私の問題は、マングースで同じ作業を行うにはどうすればよいですか、マングースでdbを切り替えるにはどうすればよいですか?
なぜなら、認証するためにADMIN dbを入力してから、自分の操作で他のdbに変更する必要があるからです。
接続を承認するには、接続文字列または接続に渡されるパラメータに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あなたも私の命を救います! ありがとう!
同じページでユーザーログインポータルを管理者ログインポータルに変更するにはどうすればよいですか?
最も参考になるコメント
他の可能な方法は、URLのクエリパラメータを使用することです
こちらをご覧ください-> AuthSourceのサポート