如何在Mongodb中使用动态变量和嵌套对象更新文档



我有文档,每个文档都有以下结构:

{
...
"Lessons": [],
"Students": { 
"Monday": {
},
"Tuesday": {
},
...
},
"CampYear": "aprs22",
}

我所追求的是将数据动态插入其中一个日期对象("星期一"等(。我有一天的到来是动态的,还有一个名字和时间。因此,在使用";星期一"PHOEBE SMITH"1:00";以及";2:00";将是:

{
...
"Lessons": [],
"Students": { 
"Monday": {
"PHEOBE SMITH": ["1:00", "2:00"]
},
"Tuesday": {
},
...
},
"CampYear": "aprs22",
}

我想试试这样的东西:

scheduleCamper(camper, time1, time2, day) {
Programs.update({ _id: targetTeacherId }, { $set: { 'Students[day]': { camper: [time1, time2]}} });

但这是错误的。不确定如何处理此插件。

两个选项:

const modifier = {};
modifier.Students[day] = { [camper]: [time1, time2]};
Programs.update({ _id: targetTeacherId }, { $set: modifier });

或:

Programs.update({ _id: targetTeacherId }, { $set: {
[`Students.${day}`]: { [camper]: [time1, time2]}
}});

最新更新