我正在开发一个包含多种用户的nodejs应用程序,例如“用户”和“页面”。我使用 MongoDB 来保存我的数据,并使用 Passportjs 进行身份验证。我需要根据用户类型提供不同的序列化方法。示例代码:
passport.serializeUser((obj, done) => {
if (obj instanceof User) {
console.log("serialising user", obj);
done(null, { id: obj._id, type: 'user' });
} else if (obj instanceof Page) {
console.log("serialising page", obj);
done(null, { id: obj._id, type: 'page' });
}
});
这里的问题是 instanceof
不适用于从 MongoDB 检索的文档。它们是使用 User/Page 的构造函数创建的,但现在我无法区分它们,因为它们现在都是对象类型。我该如何处理这个问题?
最佳答案
从这两个不同的集合中找到一个唯一的字段,并根据该字段和字段值应用此逻辑
关于javascript - 从 mongodb 作为文档检索对象类型后如何获取对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64104536/