У меня есть следующая схема задачи:
const taskSchema = new mongoose.Schema({
description: {
type: String,
required: true,
trim: true
},
folder: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Folder'
},
...
}
Когда пользователь создает задачу в клиенте, он может выбрать, к какой папке принадлежит эта задача. Папки также создаются с собственной схемой. Тем не менее, когда пользовательские папки извлекаются, на стороне клиента я внедряю другую папку по умолчанию, которая называется «Все задачи», и она имеет идентификатор 0. Поэтому, если пользователь не выбирает папку (что в порядке), значение 0 передается как удостоверение личности. Вот где я получаю сообщение об ошибке, так как Mon goose не может привести 0 к ObjectId.
"Ошибка проверки задачи: папка: Ошибка приведения к ObjectID для значения \" 0 \ " по пути \ "folder \" "
Помимо определения типа папки как String или Schema.Types.Mixed, есть ли другие возможные решения?