Jus*_*tin 9 mongodb mongo-shell mongodb-.net-driver
使用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() });
}
Run Code Online (Sandbox Code Playgroud)
它运行了大约6个小时,然后我的电脑崩溃了.有没有更好的方法为大型集合中的每个文档添加新属性(约400万条记录)?
Dav*_*aab 19
你没有JavaScript,但下面的代码工作.但不知道4百万条记录需要多长时间.
db.Listing.find().forEach(function(item){
db.Listing.update({_id: item._id}, {$set: { LowerCaseAddress: item.Address.toLowerCase() }})
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7332 次 |
最近记录: |