我正在使用mongodb shell,试图为一个大型集合中的每个文档添加新属性。该集合(Listing)已经有一个名为Address的现有属性。我只是想添加一个名为LowerCaseAddress的新属性,它可以用于搜索,这样我就不需要使用大小写不敏感的正则表达式来进行地址匹配,因为这样会很慢。
以下是我在shell中尝试使用的脚本:
for( var c = db.Listing.find(); c.hasNext(); ) {
var listing = c.next();
db.Listing.update( { LowerCaseAddress: listing.Address.toLowerCase() });
}
它运行了约6小时,然后我的PC崩溃了。是否有更好的方法向大型集合(~4百万条记录)中的每个文档添加新属性?