2012-05-09 3 views
2

ym 앱에 몽구스 및 연결 - 몽고 모듈 인스턴스가 있습니다. 연결 저장소 모듈을 사용하여 메모리 저장소 대신 mongodb 데이터베이스 (mongohq)에 세션 저장소가 유지되도록합니다.mongo 기반 세션 저장소를 사용할 수 없습니다.

매번 나는 다음과 같은 서버 (everyauth와 페이스 북의 인증을) 시작됩니다 내 애플 리케이션 내가 얻을에 액세스하려고 :

500 MongoError: Error: unauthorized db:express-sessions lock type:-1 client: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에 문제가있는 것 같습니다. 이전 버전의 컬렉션을 수정했는데 작동합니다.

답변

3

I는 Heroku가 Mongolab를 사용하고 유사한 오류에 직면 하였다.

mongolab 웹 관리자를 사용하여 수동으로 새 데이터베이스 사용자를 생성하여 해결했습니다.

+0

나는 이것을 실제로했다. – guiomie

+1

명확히하기 : 나는이 문제를 해결하기 위해 mongoHQ 계정에 새로운 사용자가 아닌 데이터베이스에 사용자를 추가했다. –

0

db가 --auth로 시작되었지만 사용자에게 db에 대한 액세스 권한이 부여되지 않은 것 같습니다.

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

+0

안녕하세요, "인증을 사용하여 서버를 시작하기 전에 admin db에 사용자를 추가했거나 localhost 인터페이스에서 첫 번째 사용자를 추가해야합니다. (로컬이 아닌 연결에서 첫 번째 사용자를 추가 할 수 없습니다. 몽고와 관련해서). " ... 몽고크와 어떻게 할 수 있습니까? – guiomie

관련 문제