首页 > 解决方案 > sails.js 会话数据未保存到数据库中

问题描述

我可能做错了什么。请指导我正确的方向。

我正在尝试使用“connect-mongo”实现 Sails 会话功能。我做了与文档Sails session mongo中解释的相同的实现。成功认证后,我试图将会话数据保存到 mongoDb 中。但在我的情况下,它没有保存在 mongo 集合中,并且集合始终为空。

我的配置在session.js

    url: 'mongodb+srv://username:password@cluster0-tkjwp.mongodb.net/mydbname?retryWrites=true',
    collection: 'sessions',
    auto_reconnect: false,
    ssl: false,
    stringify: true,
    cookie: {
        secure: false,
        maxAge: 24 * 60 * 60 * 1000
    }   

以及我要如何保存。

if(user.length && user[0].id){
    // save in DB
    req.session.authenticated = true;
    req.session.authinfo = user[0];

    req.session.save(function(err) {
        console.log(req.session);
        return res.json({
            status: 1,
            msg: 'Successfull.'
        });                  
    })                

}else{
      return res.send({ 
        status: 0,
        msg: 'Invalid'
      });
}

我也没有收到任何错误

标签: node.jssails.jsconnect-mongo

解决方案


它现在工作。我唯一错过的adapter选择。但是现在我将它与mysql一起使用。下面我用 MySql 发布我的工作代码。

session.js

adapter: 'express-mysql-session',
host: 'localhost',
port: 3306,
user: 'root',
password: 'xxxxxxxxx',
database: 'xyz',
ssl: false,
stringify: true,
cookie: {
    maxAge: 24 * 60 * 60 * 1000
},

推荐阅读