我想知道如何在集合中使用$ push,我必须指定要添加信息的文档。 请考虑以下示例:
student1 = {
'name': 'Adam',
'year': 'sophomore',
'age': 20,
'class':[
{
'className': 'cse131',
'time': '2:30',
'finalGrade': 'A'
},
{
'className': 'cse240',
'time': '9:30',
'finalGrade': 'B'
}
]
}
如果我只想更新'class'集合中的第一个文档('class'中的cse131),我将如何使用$ push来执行此操作?例如,如果我想更改“时间”或添加“通过/失败”选项?
我目前用于向集合中添加新文档的推送格式如下所示:
classNameInput = str(input("Class name?: "))
timeInput = str(input("Time of class?: "))
finalGradeInput = str(input("Final grade in class?: "))
collection.update(
{
'name' : 'Adam'
},
{
'$push': {
'class':{
'className' : classNameInput,
'time': timeInput,
'finalGrade': finalGradeInput
}
}
},
True)
我认为这种格式不允许我修改集合中的现有文档或将新的字段值对推送到集合中的现有文档中。 提前谢谢!