Mongoose-转换为ObjectId失败,有多个ID


return new SavedMember({
id: member.id, // ID of the user
guildId: member.guild.id // ID of the guild
}).save();

给出错误:

message: 'Cast to ObjectId failed for value "218459216145285121" at path "_id" for model "member"',    
name: 'CastError',
model: Model { member }

成员.ts

const memberSchema = new Schema({
_id: Types.ObjectId,
id: String,
guildId: String,
xpMessages: { type: Number, default: 0 },
warnings: { type: Array, default: [] }
});
...
export const SavedMember = model<MemberDocument>('member', memberSchema);

回购:https://github.com/theADAMJR/2pg-dashboard

基于这里的另一个答案:

Mongoose默认情况下为每个模式分配一个id虚拟getter,该getter将documents_id字段强制转换为字符串,或者在ObjectId的情况下,返回其hexString

因此,当您尝试添加新文档时,id属性指的是_id

相关内容

最新更新