var mongoose = require ('мангуст');
// конвертируем строку в objectId
ctx.instance.schoolId = mongoose.Types.ObjectId (ctx.instance.schoolId);
console.info (typeof (ctx.instance.schoolId))



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Когда вы используете mongoose.Types.ObjectId(ctx.instance.schoolId), вы получаете объект ObjectId.
Итак, когда вы попробуете console.info(typeof ctx.instance.schoolId), вы получите "объект"
Когда вам нужно проверить, является ли ctx.instance.schoolId ObjectId, вы должны использовать такую конструкцию
if ctx.instance.schoolId instanceof mongoose.Types.ObjectId == true {
// schoolId is instance of ObjectId
}
Это нормально, но код, который я опубликовал, правильный. Я уже делал это раньше, но теперь не работает
Итак, typeof(ctx.instance.schoolId) вернет вам строку ObjectId?
Нет, все равно возвращает строку. Но когда мне это понравилось. console.info (typeof (mongoose.Types.ObjectId (ctx.instance.scho olId))) он печатает как объект
Это может быть связано с геттером / сеттером в вашей модели. Как выглядит твоя модель? Можете просто выложить схему instance?
Вы правы, есть проблема в схеме, тип schoolId - это строковая схема, я удалил ее, теперь она работает
не могли бы вы выложить свою модель? вы используете наблюдателей для сохранения ваших данных?