Я изо всех сил пытаюсь обновить элемент внутри вложенного расположения в mongoDB.Обновление элемента внутри вложенного массива mongoose
Допустим, у меня есть эта схема:
var question = new Schema({
problem: {
type: String,
required: true
},
multipleChoices: [{
type: String,
required: true
}],
correctAnswer: {
type: Number,
required: true
}
});
var testCategorySchema = new Schema({
category: {
type: String,
required: true
},
tests: [{
version: {
type: String,
required: true
},
questions: [question]
}]
});
К примеру у меня есть экземпляр этой схемы, как это:
{
category: "Math",
tests: [
{
version: "1A",
questions: [
{
problem: "blablabla",
multiplechoices: [
"bla bla", "blb blb", "blc blc"
],
correctAnswer: 1
},
{
problem: "blibliblibli",
multiplechoices: [
"bla bla", "blb blb", "blc blc"
]
correctAnswer: 1
}
]
},
{
version: "1B",
questions: [
{
problem: "auauauauau",
multiplechoices: [
"bla bla", "blb blb", "blc blc"
]
correctAnswer: 1
},
{
problem: "blibliblibli",
multiplechoices: [
"bla bla", "blb blb", "blc blc"
]
correctAnswer: 1
}
]
}
]
}
Как добавить новый вопрос в математике категории, когда тестовая версия : 1A использование mongooseJS?
Спасибо, я получил его. Но как я могу добиться этого с помощью мангуста? Я пытаюсь сделать это 'TestCategory .findOne ({category: req.params.TestCategory, tests: {$ elemMatch: {version: req.params.version}}})', это уже верно? – Kim
просто используйте 'update' вместо' findOne' и соответствующим образом заполняйте значения ... здесь нет необходимости в '$ elemMatch', вот для чего' ''. – TomG
все в порядке, но как я могу показать, как «Категория теста не найдена», если я использую только обновление? извините, все еще немного путайте hehe – Kim