当前位置: 首页 > 知识库问答 >
问题:

在mongoDB中将firebase身份验证uid用作用户文档id

西门旻
2023-03-14

我有用户收藏,想使用Firebase uid作为文档_id,

let _id = new ObjectID('Firebase Auth uid'); // Error Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex
  let val = Object.assign(req.body, {
       _id: _id,
  });
  const user = new User(val);

  // Save User in the Collection
  return user.save();

eg: Firebase Uid=5w9WnBiUPdT2wh7bsarYBQLQDqa2

如果我不使用newobjectid('Firebase Auth-uid')直接通过 猫鼬返回

失败:_id: Cast to ObjectID失败的值"ThobO6kTv6aMHUa4UN3nBjkCgNb2"在路径"_id"


共有1个答案

邹时铭
2023-03-14

ObjectID是一个24字节的值,构造函数需要一个十六进制字符串。

如果计划将字符串用于_id值,请在架构中将\u id显式声明为String

    const schema = new mongoose.Schema({
      _id: String
    });
 类似资料:
  • 于是我在这里看到:https://firebase . Google . com/docs/auth/web/account-linking # link-auth-provider-credentials-to-a-user-account现在可以在Firebase中链接用户账号了。我还看到Firebase提供了匿名认证的功能,它为一个用户创建一个用户会话,不需要任何凭证。 在我们的应用程序中,

  • 所以我有一个你可以注册和登录的应用程序。我是用Firebase身份验证的。 然后,我有一个Firestore,其中有多个集合,如“requests”和“offers”。我的应用程序中的Firebase授权用户可以创建新的请求,我将其添加如下: 如您所见,我希望将用户的Firbase身份验证uid存储到请求中,以便稍后在应用程序中查询用户的请求。 问题是:那是正确的方式吗?在这一点上,我不想在我的F

  • 该应用程序应该接受用户电子邮件和密码,并使用Firebase身份验证作为后端。我使用像素2作为模拟器。每次应用程序处理登录功能时,它都会崩溃。 下面是Java文件和gradle文件 Java文件:

  • 我想在创建新用户时添加用户的DisplayName。当我尝试使用updateProfile方法时,它会发出以下警告 ///更新用户的配置文件数据。 @已弃用('将在版本2.0.0中删除。''改用updatePhotoURL和updateDisplayName。', 你怎么能避开这个?? flutter: User(显示名称:null,电子邮件:test1@gmail.com,emailVerifi

  • 问题内容: 我看到了很多教程,展示了如何使用Java在mongodb中进行身份验证 我将mongodb配置为启用身份验证。在控制台中,我使用 使用管理员 db.auth(“ myUser”,“ newPassword”)并运行良好。 在Java中,在每个访问过的网站中,代码都是 大问题是代码对我不起作用,我也不知道为什么。我测试了显式更改为管理数据库。 这对我来说有效,但这不是解决方案,因为我试图

  • 我一直很难找到Google Firebase身份验证背后的SLA。根据托管和实时数据库的服务水平协议,Firebase的每月正常运行时间百分比应至少达到99.95%。它是否适用于身份验证服务?