Geralmente não corrige:se você tiver a string
http://aaa/xxx/aaa
(yyy
igual a aaa
) você terminará com http://bbb/xxx/bbb
.Mas se você concordar com isso, o código funcionará. Para adicionar informações de depuração, use
print
função:var cursor = db.test.find();
while (cursor.hasNext()) {
var x = cursor.next();
print("Before: "+x['source']['url']);
x['source']['url'] = x['source']['url'].replace('aaa', 'bbb');
print("After: "+x['source']['url']);
db.test.update({_id : x._id}, x);
}
(A propósito, se você quiser imprimir objetos, há também
printjson
função)