Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对象中的mongodb更新项未按预期工作_Python_Mongodb - Fatal编程技术网

Python 对象中的mongodb更新项未按预期工作

Python 对象中的mongodb更新项未按预期工作,python,mongodb,Python,Mongodb,我在后端使用python和mongodb。 我的数据如下所示: data = {"_id": ObjectId("anything", "x": {"one": "number", "two": "number"})} 我正在尝试更新x中满足特定条件的所有值。 以下是我正在尝试的: col.update( {"x.one": "

我在后端使用python和mongodb。 我的数据如下所示:

data = {"_id": ObjectId("anything", "x": {"one": "number", "two": "number"})}
我正在尝试更新x中满足特定条件的所有值。 以下是我正在尝试的:

col.update( {"x.one": "number"}, {"$set": {"x.onnneeee": "number"}}, multi=True)
col.update_many( {"x.one": "number"}, {"$set": {"x.onnneeee": "number"}})

但是,在检查数据库之后。我看到新值被添加到“x”对象的末尾,而对象
{“x.one”:“number”}
没有被更改。有什么解释为什么会发生这种情况吗?

在同一个更新dict中使用$unset来取消设置x.one

col.update( {"x.one": "number"}, {"$set": {"x.onnneeee": "number"}, "$unset": {"x.one": ""}}, multi=True)

第一个参数
{“x.one”:“number”}
只是一个筛选查询,用于标识要更新的记录。第二个参数设置对所选记录执行哪些更新

问题1。您使用的是哪个版本的mongodb?这已经解决了问题,但我仍然不明白为什么更新本身不这么做。谢谢\