처음에는이 오류 메시지가 매우 드물게 나타나기 시작했지만보다 정기적으로 표시되기 시작하여 이제는 4/5 번 응용 프로그램이 실행됩니다.MongoDB : 컬렉션에 TTL 인덱스를 설정하는 중 오류가 발생했습니다.
Mongo와 세션 저장소를 처리하는 중입니다. 세션 데이터가 만료되도록 TTL 인덱스가 사용됩니다.
/home/dan/dev/audio-wave/node_modules/connect-mongo/lib/connect-mongo.js:161
throw new Error('Error setting TTL index on collection : ' + s
^
Error: Error setting TTL index on collection : sessions
at /home/dan/dev/audio-wave/node_modules/connect-mongo/lib/connect-mongo.js:161:23
at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1404:28
at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1542:30
at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:159:22
at commandHandler (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:678:48)
at Db._executeQueryCommand (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1802:12)
at Cursor.nextObject (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:729:13)
at Cursor.toArray (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/cursor.js:158:10)
at Cursor.toArray (/home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/scope.js:10:20)
at /home/dan/dev/audio-wave/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:1541:65
가 여기에 몽고 쉘에서
db.version()
에 따르면 함께
var sessionStore = new MongoStore({ db: 'audio-drop' })
, cookieParser = express.cookieParser('waytoblue')
, SessionSockets = require('session.socket.io')
, sockets = new SessionSockets(io, sessionStore, cookieParser);
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.logger('dev'));
app.use(cookieParser);
app.use(express.session({
store: sessionStore
}));
를 묶어 코드, 난 2.4.9을 실행하는거야 내가 connect-mongo
의 버전 0.4.0을 사용하고 있습니다.
이 문제를 겪은 사람들이 많지만 자격증 문제로 해결 된 것으로 보입니다. 내 로컬 몽고는 인증으로 보안되지 않으므로 문제가 될 수 없습니다. 어떤 아이디어?
저는 잠시 동안이 문제를 처리했습니다. 기본적으로 Express는 MongoDB 연결이 실제로 연결되기 전에 sesssion 저장소에 액세스하려고합니다. 몇 분만 주시면 기존 연결을'connect-mongo'와 함께 사용하는 예제를 추가하겠습니다. –
몇 가지 예가 추가되었습니다. 항상 다른 라이브러리의 MongoDB 연결을 사용할 필요는 없습니다. 생성자는 완전히 연결될 때 콜백을 허용합니다. –