Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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
如何以最有效的方式将mongoDB中的_id字段从string更改为ObjectID?_Mongodb_Mongodb Query_Aggregation Framework - Fatal编程技术网

如何以最有效的方式将mongoDB中的_id字段从string更改为ObjectID?

如何以最有效的方式将mongoDB中的_id字段从string更改为ObjectID?,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我确信它可以使用一个简单的python脚本来执行,该脚本可以提取数据,修改值,然后更新数据库。但我不确定是否有一种方法可以使用聚合或其他MongoDB后端服务更有效地实现这一点 下面是一个条目示例 { "_id":"5fbdad27d17626e156d7ba59", "some":"other", "random":"fields" } 我想换成 {

我确信它可以使用一个简单的python脚本来执行,该脚本可以提取数据,修改值,然后更新数据库。但我不确定是否有一种方法可以使用聚合或其他MongoDB后端服务更有效地实现这一点

下面是一个条目示例

{
    "_id":"5fbdad27d17626e156d7ba59",
    "some":"other",
    "random":"fields"
}
我想换成

{
    "_id":ObjectID("5fbdad27d17626e156d7ba59"),
    "some":"other",
    "random":"fields"
}

请注意,有数百万条记录,这就是我为什么要寻找后端解决方案的原因。
\u id
字段是不可变的(这意味着您无法更改或删除它)。因此,一个选项是使用新的
\u id
写入集合的所有文档。可以使用聚合
$out
阶段。