2015-01-26 8 views
5

Otrzymuję następujące informacje, gdy uruchamiam mój lokalny serwer węzłowy.wyrzuć nowy błąd ("Wymagana opcja MongoStore" brak `db`);

Wezwanie do DB

mongoose.connect('mongodb://localhost/mays'); 
app.locals.db = mongoose.connection; 

Komunikat o błędzie

C:\var\www\stage.mayfieldafc.com\node_modules\connect-mongo\lib\connect-mongo.js:157 
    throw new Error('Required MongoStore option `db` missing'); 
     ^
Error: Required MongoStore option `db` missing 

Wyjście z Mongoos.connection

{ base: 
    { connections: [ [Circular] ], 
    plugins: [], 
    models: { User: [Object] }, 
    modelSchemas: { User: [Object] }, 
    options: { pluralization: true } }, 
    collections: 
    { users: 
     { collection: null, 
     opts: [Object], 
     name: 'users', 
     conn: [Circular], 
     queue: [], 
     buffer: true } }, 
    models: 
    { User: 
     { [Function: model] 
     base: [Object], 
     modelName: 'User', 
     model: [Function: model], 
     db: [Circular], 
     discriminators: undefined, 
     schema: [Object], 
     options: undefined, 
     collection: [Object] } }, 
    replica: false, 
    hosts: null, 
    host: 'localhost', 
    port: 27017, 
    user: undefined, 
    pass: undefined, 
    name: 'mays', 
    options: 
    { db: { read_preference: 'primary', forceServerObjectId: false, w: 1 }, 
    auth: {}, 
    server: { socketOptions: [Object], auto_reconnect: true }, 
    replset: { socketOptions: {} } }, 
    otherDbs: [], 
    _readyState: 2, 
    _closeCalled: false, 
    _hasOpened: false, 
    _listening: false, 
    _events: {}, 
    db: 
    { domain: null, 
    _events: {}, 
    _maxListeners: 10, 
    databaseName: 'mays', 
    serverConfig: 
     { domain: null, 
     _events: {}, 
     _maxListeners: 10, 
     _callBackStore: [Object], 
     _commandsStore: [Object], 
     auth: [Object], 
     _dbStore: [Object], 
     host: 'localhost', 
     port: 27017, 
     options: [Object], 
     internalMaster: false, 
     connected: false, 
     poolSize: 5, 
     disableDriverBSONSizeCheck: false, 
     _used: true, 
     replicasetInstance: null, 
     emitOpen: true, 
     ssl: false, 
     sslValidate: false, 
     sslCA: null, 
     sslCert: undefined, 
     sslKey: undefined, 
     sslPass: undefined, 
     serverCapabilities: null, 
     name: 'localhost:27017', 
     socketOptions: [Object], 
     logger: [Object], 
     eventHandlers: [Object], 
     _serverState: 'connecting', 
     _state: [Object], 
     recordQueryStats: false, 
     socketTimeoutMS: [Getter/Setter], 
     db: [Circular], 
     dbInstances: [Object], 
     connectionPool: [Object] }, 
    options: { read_preference: 'primary', forceServerObjectId: false, w: 1 }, 
    _applicationClosed: false, 
    slaveOk: false, 
    bufferMaxEntries: -1, 
    native_parser: undefined, 
    bsonLib: 
     { Code: [Object], 
     Symbol: [Object], 
     BSON: [Object], 
     DBRef: [Object], 
     Binary: [Object], 
     ObjectID: [Object], 
     Long: [Object], 
     Timestamp: [Object], 
     Double: [Object], 
     MinKey: [Object], 
     MaxKey: [Object], 
     promoteLongs: true }, 
    bson: { promoteLongs: true }, 
    bson_deserializer: 
     { Code: [Object], 
     Symbol: [Object], 
     BSON: [Object], 
     DBRef: [Object], 
     Binary: [Object], 
     ObjectID: [Object], 
     Long: [Object], 
     Timestamp: [Object], 
     Double: [Object], 
     MinKey: [Object], 
     MaxKey: [Object], 
     promoteLongs: true }, 
    bson_serializer: 
     { Code: [Object], 
     Symbol: [Object], 
     BSON: [Object], 
     DBRef: [Object], 
     Binary: [Object], 
     ObjectID: [Object], 
     Long: [Object], 
     Timestamp: [Object], 
     Double: [Object], 
     MinKey: [Object], 
     MaxKey: [Object], 
     promoteLongs: true }, 
    _state: 'connecting', 
    pkFactory: 
     { [Function: ObjectID] 
     index: 12355790, 
     createPk: [Function: createPk], 
     createFromTime: [Function: createFromTime], 
     createFromHexString: [Function: createFromHexString], 
     isValid: [Function: isValid], 
     ObjectID: [Circular], 
     ObjectId: [Circular] }, 
    forceServerObjectId: false, 
    safe: false, 
    notReplied: {}, 
    isInitializing: true, 
    openCalled: true, 
    commands: [], 
    logger: { error: [Function], log: [Function], debug: [Function] }, 
    tag: 1422291172449, 
    eventHandlers: 
     { error: [], 
     parseError: [], 
     poolReady: [], 
     message: [], 
     close: [] }, 
    serializeFunctions: false, 
    raw: false, 
    recordQueryStats: false, 
    retryMiliSeconds: 1000, 
    numberOfRetries: 60, 
    readPreference: undefined } } 

Ten kod działa na innym komputerze. Jestem trochę zakłopotany to dlaczego mogę dostać ten błąd, gdy jestem dostarczyć poprawną nazwę DB, że mogę połączyć się poprzez Robomongo

+0

Czy byłeś w stanie to naprawić? Czy możesz opublikować swoje rozwiązanie? – FRD

Odpowiedz

3

zmienić opcję jesteś przejazdem połączyć-Mongo od

var session = require('express-session'); 
var MongoStore = require('connect-mongo')(session); 
app.use(session({ 
    db: new MongoStore({ db: mongoose.connection.db }) 
})); 

do

var session = require('express-session'); 
var MongoStore = require('connect-mongo')(session); 
app.use(session({ 
    db: new MongoStore({ mongooseConnection: mongoose.connection }) 
})); 

To wszystko udokumentowane tutaj: https://github.com/kcbanner/connect-mongo, naprawdę.

+0

Dzięki, +1! W poprzedniej wersji było tak, jak w pierwszym fragmencie, o którym wspomniałeś. –

+0

Zaktualizowano na prawidłową odpowiedź –

1

Upewnij się też, że jesteś na bieżąco. W starszej wersji opcja "mongooseConnection" była "mongoose_connection". Błędne oznaczanie, które powoduje błąd braku db.

+0

Boże, nie jestem pewien, czy kiedykolwiek to wymyśliłem. –

1

Niesamowite, jak to było ... czy dźwięki, nie stworzył

mays 

jako DB, więc próbuje połączyć się nic ...

Upewnij się, że” ve utworzony DB :)

+0

Myślę, że wysyłanie komunikatów o błędach jest trochę nie tak –

Powiązane problemy