【问题标题】:Connect-mongodb-session: TypeError: Cannot read property 'Store' of undefined (mongodb, nodejs, connect-mongodb-session)Connect-mongodb-session: TypeError: Cannot read property 'Store' of undefined (mongodb, nodejs, connect-mongodb-session)
【发布时间】:2021-03-13 13:49:50
【问题描述】:

我升级了 connect-mongo npm 后,由于这个错误,应用程序不断崩溃:请您修复这个错误吗?

package.json:

"dependencies": {
"connect-mongodb-session": "^2.2.0",
"express": "^4.16.4",
"express-handlebars": "^3.0.2",
"express-session": "^1.16.1",
"mongoose": "^5.5.3",
"uuid": "^3.3.2"
}

app.js

const mongoose = require('mongoose');
const express = require('express');
const session = require('express-session');
const MongoStore = require('connect-mongodb-session');

const store = new MongoStore({
  collections: 'sessions',
  uri: MONGODB_URI
})

我尝试更改“connect-mongodb-session”版本,但没有帮助。任何人都可以建议解决此问题的方法吗?

【问题讨论】:

    标签: node.js mongodb node-modules


    【解决方案1】:

    我遇到了类似的问题,犯了一个非常愚蠢的错误。

    var MongoDBStore = require('connect-mongodb-session')('session');
    

    我在 qoutes 有过会议!

    var MongoDBStore = require('connect-mongodb-session')(session); //No quotes around session
    

    【讨论】:

      【解决方案2】:

      已修复!

      已尝试使用会话初始化存储:

      const MongoDBStore = require('connect-mongodb-session')(session);
      const store = new MongoDBStore({
       uri: MONGODB_URI,
       collections: 'sessions'
      });
      
      store.on('error', function(error) {
         console.log(error);
      });
      

      【讨论】:

        【解决方案3】:

        使用会话

        初始化存储
        var MongoDBStore = require('connect-mongodb-session')(session);
        

        【讨论】:

        • 我需要改变: const MongoStore = require('connect-mongodb-session') 到 var MongoDBStore = require('connect-mongodb-session')(session); ?
        猜你喜欢
        • 1970-01-01
        • 2016-11-05
        • 1970-01-01
        • 2021-06-08
        • 2020-01-10
        • 2021-06-25
        • 2020-03-22
        • 2017-04-24
        • 2023-03-15
        相关资源
        最近更新 更多