我有以下文件:
{
"dataset_path":"path_of_dataset",
"project_1":{
"model_1":"path_of_model_1",
"model_2":"path_of_model_2"
}
}
我想将“项目1”更改为“重命名的项目1”,“模型1的路径”更改为“新模型1的路径”。结果输出应如下所示:
{
"dataset_path":"path_of_dataset",
"renamed_project_1":{
"renamed_model_1":"new_model_1_path",
"model_2":"path_of_model_2"
}
}
以下是我尝试过的:
db.collection.update_many({'dataset_path': 'path_to_dataset'}, {'$rename': {"project_1": "renamed_project_1"}},
{'$set': {"project_1.model_1": "new_model_1_path"}})
但是上面的查询会引发以下错误:
pymongo.errors.WriteError: Updating the path X would create a conflict at X.
这是因为您试图在一个查询中对
project_1
字段进行两次变异。Mongo就是不知道该怎么处理。 你应该考虑分解两个操作:相关问题 更多 >
编程相关推荐