Довод "против" Necesito que mi Schema pueda recibir un array esta estructura:
const arrayAnswers: [
{description: 'String', isCorrect: true},
{description: 'String', isCorrect: false},
{description: 'String', isCorrect: false}
]
Este es el esquema que escribo:
const mongoose = require('mongoose');
const {Schema} = mongoose;
const fields = {
answers: [Object]
}
const question = new Schema(Object.assign(fields), {timestamps: true});
module.exports = {
Model: mongoose.model('question', question),
fields
};
Параграф ¿El esquema ese бразильская саванна puede сер así o шаг скрутки algún problema подставляет el [Object]
?
Он трезвый leído Schema.Types.Mixed
y отрезвляют subdocumentos, pero никакой sabría Комо hacer el subdocumento. Y según, el Mixed hace que se pierda la habilidad de autodetectar y guardar cambios, entonces никакой подросток sé que repercusiones puede exactamente подставляет lo que hago.
Конечно же ты можешь делать это. Если структура объекта, который ты будешь хранить в твоем поле answers
, - установлена, тогда ты можешь делать что-то вроде следующее:
const mongoose = require('mongoose');
const questionSchema = new mongoose.Schema({
const answers: [{
description: {
type: String,
required: 'Description field is required'
},
isCorrect: {
type: Boolean,
required: 'isCorrect field is required'
}
}]
}, { timestamps: true });
module.exports = {
Model: mongoose.model('Question', questionSchema)
}
то, что мы сделали, состоит в том, чтобы определять поле answers
как тип array
и внутри мы установили структуру типа документа, который он будет содержать. Я использовал ограничения required
на полях документа, хотя ты можешь не нуждаться в них, это dependerГЎ тебя lГіgica.
Делать это формой, которую ты пробуешь (segГєn то, что ты выставляешь в твоем вопросе) harГ, - в который тип информации, хранившийся в поле answers
был типа назначенных по умолчанию Mixed
.
ты Можешь читать mГЎs о типе Array
из Mongoose в documentaciГіn .
Надеялся, что это помогает тебе решать твое сомнение.