Почему требуемое поле (изнасилование пользователя) не определен в мангузе, даже если оно существует в базе данных?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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