我有几个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字段。
我需要会话来引用用户,所以当节点从数据库中查询会话时,用户对象也会被撤回。