我正在构建的 application 允许用户使用他们的 Facebook 和 Linkedin 帐户登录,以便从这些网络中获取他们的 friend 。
他们的每个 friend 都可以是该应用程序的用户。

我有几个问题需要解决:

  • 我应该如何构建我的数据库架构?
  • 如何统一配置文件?

  • 潜在的解决方案

    关于结构:

    我正在使用 mongo(但我愿意接受建议)。所以我想我会创建一个 collectionUsers ,其中每个用户文档看起来像这样:
    User = { appId: <id>, connections: [userId]}
    因此,每个用户都有:
  • 一个独特的应用程序生成的 id(为简单起见,可以是文档的 id)。
  • 一组用户 ID。在我的应用程序中创建的他们 friend 的个人资料的 ID。

  • 关于统一配置文件:

    我应该根据用户的电子邮件或姓名统一用户吗?或两者?

    杂项

    我以为我可以使用 LoginRadius 但我只是为此而使用 singly,然后他们突然决定终止该服务。换句话说,我不想依赖第三方工具,因为这是一个核心功能。

    最佳答案

    var UserSchema = new Schema({
                     name: { type: String, default: '' },
                     email: { type: String, default: '' },
                     provider: { type: String, default: '' },
                     hashed_password: { type: String, default: '' },
                     salt: { type: String, default: '' },
                     authToken: { type: String, default: '' },
                     facebook: {},
                     linkedin: {}
         })
    

    我正在为我的用户集合使用上面提到的架构。

    当新用户想要注册时,使用本地策略或社交策略

    我只是使用带有“upsert:true”选项的更新 Mongoose 功能来更新或

    创建一个条目。

    关于mongodb - 从多个社交网络(Facebook 和 Linkedin...)获取的统一配置文件的数据库方案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18100299/

    10-12 03:53
    查看更多