【发布时间】:2020-10-12 10:02:05
【问题描述】:
我正在使用 PyMongo 更新集合中的文档。我的文档结构如下所示:
{
"_id": "123XYZ",
"location": {
"date1": [54, 64],
"date2": [34, 44]
}
}
我的有效载荷如下所示:
{"date3":[30,40], "date4":[50,60]}
我想更新指定 _id(在本例中为“123XYZ”)的位置字段,使其如下所示:
{
"_id": "123XYZ",
"location": {
"date1": [54, 64],
"date2": [34, 44],
"date3": [30,40],
"date4": [50,60]
}
}
我一直在搜索文档和堆栈溢出,但找不到简单地附加到该位置的方法。当我尝试将位置更改为数组时,每次尝试附加有效负载只会创建一个额外的嵌套。
我尝试过 $set、$setOnInsert、$addToSet 运算符和其他运算符。我知道有点符号可以让我遍历嵌套对象。但是解压有效载荷并循环遍历密钥并将它们粘贴到点符号上的计算效率很低。所以想知道是否有更好的方法来做到这一点?
有人有想法吗?
【问题讨论】:
-
你是用
updateOne还是别的什么?