есть небольшая новая проблема, хотя я не мог найти решение для подобных проблем, которые работали для меня.Вот моя коллекция:
{
"_id": ObjectId("5bc712851224ceec702d9bdf"),
"index": "123456",
"name": "Jan",
"surname": "Nowak",
"grades": {
"IABD": [
2,
3.5,
4
],
"NPAD": [
4,
4,
5
]
}
}
Теперь мне нужно добавить дополнительные оценки к определенным (функциональным параметрам) курсам.
Поэтому я попытался заняться этим на нескольких уровнях, и я бы кого-нибудь полюбилчтобы провести меня через это в соответствии с этим: Сначала я хотел преуспеть, не пройдя курс в качестве параметра:
function add_grade(index="123456", course="IABD", grade=5.5)
{
db.students.update( {"index" : index }, { $push: { "grades" : { "IABD" : grade } } } );
}
ну ничего не произошло (оценка не была добавлена в список оценок) Я хотел увидеть некоторый результат, поэтому я хотел посмотреть, сработает ли $ set, и это сработало!
function add_grade(index="123456", course="IABD", grade=5.5)
{
db.students.update( {"index" : index }, { $set: { "grades" : { "IABD" : grade } } } );
}
, но он выбросил весь мой объект оценки (как и ожидалось).По крайней мере, я знаю, что я на правильном пути. Вопрос 1: Почему $ push не сработал так, как я ожидал
Вопрос 2: как использовать параметр курса в set / push? Просто чтобы уточнить Q2,Я не ленивый, я перепробовал много подходов, ни один из которых не помог, пожалуйста, помогите!