将文件更改为ObjectID MongoDB

将文件更改为ObjectID MongoDB,mongodb,robo3t,Mongodb,Robo3t,我收集了大约5000份文件。在每个文档中都有一个BrandID字段,我想将其从string更改为MongoDB ObjectID。我尝试了以下shell命令,但它只更新了第一个文档。我一点错误也没有 db.getCollection('SGProductRepository').find({ BrandID: {$ne : ""}}).forEach(function(obj) { obj.BrandID = new ObjectId(obj.BrandID); db.getCo

我收集了大约5000份文件。在每个文档中都有一个BrandID字段,我想将其从string更改为MongoDB ObjectID。我尝试了以下shell命令,但它只更新了第一个文档。我一点错误也没有

db.getCollection('SGProductRepository').find({ BrandID: {$ne : ""}}).forEach(function(obj) {    
    obj.BrandID = new ObjectId(obj.BrandID);
db.getCollection('SGProductRepository').save(obj);    
})
知道它为什么不起作用吗。我正在使用RoboMongo作为编辑。
谢谢

那么。。。这太奇怪了:
{BrandID:{$eq:}}
。这意味着有许多对象具有空BrandID?如果是这样的话,空字符串不能是有效的对象id(即使显示了任何错误)。很抱歉,我在上面的代码段中使用了not equal,因为我尝试了几件复制为equal的事情。是的,有很多空白值,这就是为什么我使用notequal。