我想知道如何在一个集合中使用$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来实现这一点?例如,如果我想更改'time'或添加'pass/fail'选项?你知道吗
我当前用于向集合添加新文档的推送格式如下所示:
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)
我认为这种格式不允许我修改集合中的现有文档,也不允许我将新的字段-值对推入集合中的现有文档。 提前谢谢!你知道吗
您使用了错误的更新运算符。您需要的是^{} 更新操作符和位置^{} 更新操作符。你知道吗
相关问题 更多 >
编程相关推荐