Почему требуемое поле (изнасилование пользователя) не определен в мангузе, даже если оно существует в базе данных?Javascript

Форум по Javascript
Anonymous
Почему требуемое поле (изнасилование пользователя) не определен в мангузе, даже если оно существует в базе данных?

Сообщение Anonymous »

Я использую Mongoose с коллекцией MongoDB, где поле пользователя определяется по мере необходимости в моей схеме, как эта -< /p>
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

Вернуться в «Javascript»