使用python更新Mongo文档中的列表

时间:2020-11-10 21:46:00

标签: python json mongodb

我是mongo的新手,我正尝试向此stgids列表中添加另一个数字,如本文档所示:

{
     "hash" : "45ewqd34dewrqfer24ferferf24frec",
     "date_found" : "2020-03-17 14:34:52",
     "stgids" : [818185409533533, 818184460739521, 818181830962284]
}

到目前为止,我可以找到它并更新哈希,但是我不需要更新哈希,我需要添加到stgids。

myquery = { "hash": "45ewqd34dewrqfer24ferferf24frec" }
newvalues = { "$set": { "hash": "5ewqd34dewrqfer24ferferf24frecord" } }
mycol.update_one(myquery, newvalues)

如果当然行newvalues = {“ $ set”:{“ hash”:“ 5ewqd34dewrqfer24ferferf24frecord”}}是需要更改为类似newvalues = {“ $ set”:{“ stigs”:myquery.stigs +'1404356206'}}我只是不知道应该怎么做。

为清楚起见,我正在尝试更新:

"stgids" : [818185409533533, 818184460739521, 818181830962284]

收件人:

"stgids" : [818185409533533, 818184460739521, 818181830962284, 8181818778021642]

有帮助吗?

1 个答案:

答案 0 :(得分:0)

您需要使用push运算符,这里是文档:https://docs.mongodb.com/manual/reference/operator/update/push/

我认为这应该可行:

myquery = { "hash": "45ewqd34dewrqfer24ferferf24frec" }
newvalues = { "$push": { "stgids": "8181818778021642" } }
mycol.update_one(myquery, newvalues)