【发布时间】:2016-04-14 13:13:25
【问题描述】:
我正在尝试使用 $set 创建一个数组/列表/集合(不确定哪个是正确的术语),但我不知道该怎么做。例如:
我有一个文档插入到我的数据库中,如下所示:
"_id": (unique, auto-generated id)
"Grade": Sophomore
我想使用更新插入一个集合/列表/数组。所以,基本上我想要这个:
"_id": (unique, auto-generated id)
"Grade": Sophomore
"Information"{
"Class_Info": [
{"Class_Name": "Math"}
]
到目前为止,我一直在使用 .update 和点表示法。所以,我想做的是像这样使用 $set:
collection.update({'_id': unique ID}, {'$set': {'Information.Class_Info.Class_Name': 'Math}})
但是,这样做是使 Class_Info 成为文档而不是列表/集合/数组,所以它正在这样做:
"_id": (unique id)
"Grade": Sophomore
"Information"{
"Class_Info": {
"Class_Name": "Math"
}
如何指定我希望 Class_Info 是一个列表?如果由于某种原因我绝对不能使用 $set 来执行此操作,那么我可以使用点表示法非常重要,因为我的程序的其余部分的工作方式,所以如果我应该使用 $set 以外的其他东西,可以它有点符号来指定在哪里插入列表? (我知道 $push 是另一种选择,但它不使用点表示法,所以在我的情况下我不能真正使用它)。
谢谢!
【问题讨论】:
-
你为什么要为你自己的question创建一个副本。
-
它们是不同的问题,在一个我问关于插入数组的问题中,这是创建一个全新的数组
标签: python arrays mongodb syntax pymongo