userId: {
type: String,
required: true,
ref: 'user'
}
< /code>
Когда я получаю документ с использованием findbyid (): < /p>
const event = await Model.findById(eventId);
console.log(event.userId); // prints: undefined
< /code>
Но когда я проверяю фактический документ в базе данных (через Monogodb Compass), то идентификатор пользователя четко виден и правильно устанавливается с помощью (ObjectId) < /p>
Это вызывает mongoose.save () для выброса ошибки валидации:
path "userid". Не показывает пользовательский ирид.if (!event.userId) {
event.userId = userId;
}
< /code>
Но это похоже на взлом. В документе есть поле пользователя, которое отмечено, как требуется в схеме. Но когда я позвонил .save (), он бросил эту ошибку:
Проверка проверки календаря -эвоя. /> Это смутило меня, потому что: < /p>
- Поле пользователя определенно существует в документе MongoDB (я проверял через Compass и RAW запросы). < /li>
Я не использую .Lean (). < /li>
Я не исключая пользовательский. Варианты в моей схеме или данных, с которыми я работаю.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -exists-in
Мобильная версия