更改MongoDb中许多文档的字段类型

更改MongoDb中许多文档的字段类型,mongodb,Mongodb,我正在学习MongoDb,我的收藏中有很多这样的文档: 我想将我的cust_id字段从String更新为ObjectId。我可以用指南针改变类型,但我有很多文件。我读过Mongo文件,但还是不明白。您能在我的文档中演示如何执行此操作,以便我清楚地理解。 多谢各位 这里有一个解决方案的提示 db.students.find().forEach(function(obj) { obj.cust_id = ObjectId(obj.cust_id); db.students.save(obj


我正在学习MongoDb,我的收藏中有很多这样的文档:

我想将我的cust_id字段从String更新为ObjectId。我可以用指南针改变类型,但我有很多文件。我读过Mongo文件,但还是不明白。您能在我的文档中演示如何执行此操作,以便我清楚地理解。
多谢各位

这里有一个解决方案的提示

db.students.find().forEach(function(obj) {
  obj.cust_id = ObjectId(obj.cust_id);
  db.students.save(obj);
});
我在Atlas 4.0.6中对此进行了测试,效果良好。然而,我不知道这项技术对大型数据集的扩展效果如何


只需用您自己的收藏名称替换学生即可。

我已经体验过将字符串转换为数字的功能,效果很好

db.students.find().forEach(obj =>{
   obj.code_number= perseInt(obj.code_number);
   db.students.save(obj);
});
还将使用结果创建新集合,以保留原始数据并检查结果

db.students.find().forEach(obj=> {
   obj.code_number= perseInt(obj.code_number);
   db.students_new.save(obj);
});

你的mongodb版本是什么?我查过了,上面说4.0.3你可以在这里使用
$out
聚合。