我有用户集合,并希望将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强制转换失败
答案 0 :(得分:0)
ObjectID是一个24字节的值,构造函数需要一个十六进制的字符串。
如果您打算将字符串用于_id值,请在架构中将_id
明确声明为String
。
const schema = new mongoose.Schema({
_id: String
});