2

ym app に mongoose と connect-mongo モジュール インスタンスがあります。connect-mongo モジュールを使用して、セッション ストアをメモリ ストアではなく mongodb データベース (mongohq) に保持しています。

サーバーが起動されたときにアプリにアクセスしようとするたびに(everyauthを使用したfacebook認証)、次のようになります。

500 MongoError: エラー: 無許可の db:express-sessions ロック タイプ:-1 クライアント:199.192.242.4

私のユーザー名、パスワードは大丈夫です。

var conf = {
  db: {
    db: 'express-sessions',
    host: 'staff.mongohq.com',
    port: 10072,  // optional, default: 27017
    username: 'admin', // optional
    password: 'admin', // optional
    collection: 'facebookSessions' // optional, default: sessions
  },
  secret: '076ee61d63aa10a125ea872411e433b9'
};

app.use(express.session({
    secret: conf.secret,
    maxAge: new Date(Date.now() + 3600000),
    store: new MongoStore(conf.db)
  }));

編集、これは私のmongohqの問題のようです。コレクションを古いものに変更しましたが、動作します。

4

2 に答える 2

3

HerokuとMongolabを使用して同様のエラーに直面していました。

私は、mongolabWeb管理者を使用して新しいデータベースユーザーを手動で作成することで問題を解決しました。

于 2012-06-25T23:17:04.507 に答える
0

データベースが --auth で開始されたようですが、ユーザーにはデータベースへのアクセスが許可されていません。

http://www.mongodb.org/display/DOCS/Security+and+Authentication

于 2012-05-09T21:53:51.020 に答える