1

对于我正在制作的网站的不同部分,我有几个 mongo 数据库。其中一个数据库用于会话。我正在使用 Connect Mongo 将会话存储在数据库中。我似乎无法将引用我为用户制作的模型的 ObjectId 存储到会话中。但是当我阅读会话时,我只得到了我存储的 ObjectId 而不是对象。我已经将 stringify 更改为 false。是否可以使用 Connect Mongo 做到这一点?

我已经尝试过创建一个模式并将该模式​​存储到一个会话变量中,看看它是否会返回我引用的用户对象。我在下面包含了这段代码。

var mongoose = require('mongoose');
var DBsessions = require('../../setup/DBconnect.js').DBsessions;

var QuickChatRefScheme = mongoose.Schema({
    user: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    }
});

module.exports = DBsessions.model('QuickChatRef', QuickChatRefScheme);

要使用它,我有:

request.session.allowedChatUser = new QuickChatRef({user:new   mongoose.Types.ObjectId(toUser._id)});

在哪里toUser._id提供并且是一个已经存在的用户 _id 字段。

我需要会话来引用用户,因此当节点从数据库查询会话时,用户对象也会被拉回。

4

0 回答 0