В настоящее время я работаю над RESTful API и пытаюсь сослаться на схему пользователей в документе курсов так, чтобы при отправке запроса POST на маршрут курса курс создавался в БД и имелкак одно из его полей ссылка на пользователя, который его создал.Однако, на всю жизнь, я не могу понять, почему поле «пользователь» не появляется при публикации.Кажется, что здесь довольно много таких вопросов в Stack, так что я, возможно, просто добавляю в кучу, но я попробовал их решения, и они не сработали для меня
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var userSchema = new Schema({
firstName: {
type: String,
required: true
},
lastName: {
type: String,
required: true
},
emailAddress: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
var CourseSchema = new Schema({
user: {type: Schema.Types.ObjectId, ref: 'User'}, //FOR some reason this is not showing up on any courses created using the
title: {
type: String,
required: true
},
description: {
type: String,
required: true
},
estimatedTime: {
type: String
},
materialsNeeded: {
type: String
}
});
var User = mongoose.model('User', userSchema);
var Course = mongoose.model('Course', CourseSchema);
module.exports = {Course, User};
Вы видите здесь что-нибудь?что может помешать появлению пользовательского поля при создании нового курса?
Я приложил несколько снимков экрана для дальнейшего объяснения.
Это первое изображениеЭкран аутентифицированных в настоящее время учетных данных пользователя (очевидно, поддельные данные).Это пользователь, который отправляет запрос POST для нового курса.Я ожидаю, что его информация будет прикреплена к курсу (см. Скриншот 3)
На этом изображении показано тело отправленного запроса.Вы можете видеть, что пары ключ-значение соответствуют тому, что находится в CourseSchema.Я ожидаю, что поле «пользователь» будет создано после отправки запроса POST.
Это последнее изображение представляет собой некоторые фиктивные данные, которые являются ожидаемым результатом.
Спасибо всем, что взглянули на это!