对于我正在制作的网站的不同部分,我有几个 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 字段。
我需要会话来引用用户,因此当节点从数据库查询会话时,用户对象也会被拉回。