【问题标题】:how to use connect-mongo version 4x with express-session. I'm getting errors如何将 connect-mongo 版本 4x 与 express-session 一起使用。我收到错误
【发布时间】:2021-10-22 00:20:56
【问题描述】:

我在尝试在 MongoDB 上保存会话时遇到错误

const MongoStore = require('connect-mongo');

const connectDB = require('./config/db');
const { connection } = require('mongoose');
    app.use(
      session({
        secret: 'some secret',
        resave: false,
        saveUninitialized: true,
        store: MongoStore.create({
          client: connection,
        }),
        cookie: {
          maxAge: 1000 * 60 * 60 * 24,
        },
      })
    );

错误:

C:\Users\Tezz\Desktop\Express\PassportJsAuth\express-session-authenticator\node_modules\connect-mongo\build\main\lib\MongoStore.js:126 .db(选项.dbName) ^

TypeError: con.db 不是函数 在 C:\Users\Tezz\Desktop\Express\PassportJsAuth\express-session-authenticator\node_modules\connect-mongo\build\main\lib\MongoStore.js:126:18

【问题讨论】:

    标签: mongodb express mongoose express-session connect-mongo


    【解决方案1】:

    解决方案如下:

    const express = require('express');
    const session = require('express-session');
    require('dotenv').config();
    
    const MongoStore = require('connect-mongo');
    
    const connectDB = require('./config/db');
    
    const PORT = process.env.PORT || 3001;
    const MONGO_URI = process.env.MONGODB;
    const app = express();
    
    
    //connectDB should return the client conn.connection.getClient();
    
    const client = connectDB().then((mClient) => {
    app.listen(PORT, () => console.log('Server running...');
    return mClient;
    }).catch(err => console.log(err));
    
    
    app.use(express.json());
    app.use(express.urlencoded({ extended: true}));
    app.use(
      session({
        secret: 'some-secret',
        resave: false,
        saveUninitialized: true,
        store: MongoStore.create({
          client,
        }),
      })
    );
    
    app.get('/', (req, res, next) => {
      res.send('<h1>Hello World (sessions)</h1>');
    });
    
    ```
    

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 2020-04-08
      • 2021-10-20
      • 2022-10-02
      • 2019-10-21
      • 1970-01-01
      相关资源
      最近更新 更多