javascript - 从 mongodb 作为文档检索对象类型后如何获取对象类型?

标签 javascript node.js mongodb passport.js bson

我正在开发一个包含多种用户的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/

相关文章:

javascript - 如果 .find() mongoose 没有找到任何东西,请执行某些操作

node.js - 找不到模块 'browserify'

node.js - async.each 嵌套在 async.waterfall 中

javascript - Lodash,循环调用函数并返回第一个匹配结果

javascript - 如何将新元素附加到哈希中的相同键

javascript - 类型错误 : 'ownKeys' on proxy: trap result did not include 'arguments'

mongodb - 如何使用 Liquibase-MongoDb-Spring-boot

c++ - Qt 应用程序中的 MongoDB C++ 驱动程序稳定分支崩溃

javascript - IE 11 找不到运行 Applet 的 Java 插件

javascript - 如何在 p5.js 中管理多测验游戏的多个屏幕?