在mongoDB中将Firebase Auth uid用作用户文档_id

时间:2020-05-10 07:14:07

标签: mongodb mongoose

我有用户集合,并希望将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();

例如:Firebase Uid = 5w9WnBiUPdT2wh7bsarYBQLQDqa2

如果我直接通过而不使用new ObjectID('Firebase Auth uid');猫鼬返回

失败:_id:在路径“ _id”的值“ ThobO6kTv6aMHUa4UN3nBjkCgNb2”的对象ID强制转换失败

1 个答案:

答案 0 :(得分:0)

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

如果您打算将字符串用于_id值,请在架构中将_id明确声明为String

    const schema = new mongoose.Schema({
      _id: String
    });