Acredito que a função save foi descontinuada, e o código criado já não está funcionando mais... Fiz uma adaptação que parece estar funcionando:
db.artigos.find({}).forEach(function(artigo) {
var infoAutor = db.infoAutores.findOne({ email: artigo.autor.email });
artigo.autor.id_info = infoAutor._id;
delete artigo.autor.email;
delete artigo.autor.senha;
db.artigos.replaceOne({
_id: artigo._id
}, artigo)
})
A única diferença é que o comando save foi trocado pelo "replaceOne" (e no caso, é preciso buscar o artigo para fazer a troca também)