#javascript #node.js #mongoose #mongoose-schema
#javascript #node.js #mongoose #mongoose-схема
Вопрос:
У меня есть такая схема
courses: [],
workshops: [],
events: [],
semesters: {
sem1: { cie1: [], cie2: [], cie3: [], final: [] },
sem2: { cie1: [], cie2: [], cie3: [], final: [] },
sem3: { cie1: [], cie2: [], cie3: [], final: [] },
sem4: { cie1: [], cie2: [], cie3: [], final: [] },
sem5: { cie1: [], cie2: [], cie3: [], final: [] },
sem6: { cie1: [], cie2: [], cie3: [], final: [] },
sem7: { cie1: [], cie2: [], cie3: [], final: [] },
sem8: { cie1: [], cie2: [], cie3: [], final: [] },
},
Я хочу, чтобы данные push были в CIE и в конечном массиве каждого sem
Я использую это для
if(type==="cie"){
const path = "semesters.sem" semester ".cie" num;
// const path = "semesters.sem1.final.";
Student.update({reg_no: req.body.regno},{$push:{path:req.body.submarks}},function(err,result){
res.send(err);
});
}
if(type === "final"){
// const path = "semesters.sem" semester ".final";
const path = "semesters.sem1.final.";
Student.update({reg_no: req.body.regno},{$push:{path:req.body.submarks}},function(err,result){
res.send(result);
});
}
Я использую переменную path для определения пути, но она не работает, когда я указываю путь в виде строки в push, она работает, но это не работает, когда я указываю в виде строковой переменной.
Помогите мне решить эту проблему.
Ответ №1:
Чтобы использовать varibale в качестве ключа объекта, вам нужно сделать что-то вроде:
{ $push: { [path]: req.body.submarks } }