删除会话存储中的所有数据

时间:2018-07-30 09:35:19

标签: express sails.js express-session sails-mongo

我正在将SailsJS与MongoDB一起使用。用户通过身份验证后,其数据将存储在名为“会话”的集合中。

我想知道如何访问此集合,以便删除所有数据以强制所有用户必须再次登录。可能使用水线查询。

谢谢

1 个答案:

答案 0 :(得分:1)

进一步调查后,我找到了解决方案。

使用属性

创建一个名为Session的新模型。
id: {
    type: 'string',
    unique: true
},

sessions: {
    type: 'json',
    defaultsTo: {}
},

expires: {
    type: 'string',
    defaultsTo: ''
}

之后,您可以使用Waterline查询来编辑会话集合,例如

Sessions.destroy().exec(function (err, destroyed) {
            if(!err){
                sails.log.info('Session destroyed');
                request.session = '';
                return response.redirect('/');
            }
            else{
                sails.log.error(err);
            }
        });