【发布时间】:2020-05-24 07:42:31
【问题描述】:
我有以下任务架构:
const taskSchema = new mongoose.Schema({
description: {
type: String,
required: true,
trim: true
},
folder: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Folder'
},
...
}
用户在客户端创建任务时,可以选择该任务所属的文件夹。文件夹也使用自己的架构创建。但是,当检索用户的文件夹时,在客户端我注入另一个名为“所有任务”的默认文件夹,它的 ID 为 0。因此,如果用户没有选择文件夹(没关系),则 0 正在作为 ID 传递。这就是我遇到错误的地方,因为 Mongoose 无法将 0 转换为 ObjectId。
“任务验证失败:文件夹:对于路径 \"folder\"" 处的值 \"0\",转换为 ObjectID 失败
除了将文件夹类型定义为String或Schema.Types.Mixed,还有其他可能的解决方案吗?
【问题讨论】:
标签: mongoose mongoose-schema objectid