【发布时间】:2018-07-05 13:40:58
【问题描述】:
假设我有一个很大的集合,包括以下文档:
{"_id": 0,
"name":"John Doe",
"items": [
{"x":5,
"y":8,
"z":9},
{"x":4,
"y":2,
"z":1},
{"x":3,
"y":5,
"z":8}
]
}
我正在使用 pymongo 将集合提取到一个名为“数据”的变量中,并尝试迭代这些项目以更新一些项目。我尝试使用以下代码打印这些值:
for i in data:
for j in data[i].get("items"):
pprint(j.get("x"))
它给出了一个错误:
pymongo.errors.InvalidOperation: cannot set options after executing query
即使我得到了这些项目,我也看不到更改数据的方法。为什么会发生这种情况?如何遍历项目并更改它们的值?
【问题讨论】:
-
我不太清楚您所说的“更改数据的方法”是什么意思。请举例说明您需要修改前后的文件。您的循环也看起来错误:
for i in data: for j in data[i]...。data是什么?如何获得?