Den eneste måde at ændre $type af dataene er at udføre en opdatering af dataene, hvor dataene har den korrekte type.
I dette tilfælde ser det ud til, at du prøver at ændre $type fra 1 (dobbelt) til 2 (streng).
Så indlæs blot dokumentet fra DB'en, udfør castingen (new String(x) ) og gem derefter dokumentet igen.
Hvis du har brug for at gøre dette programmatisk og helt fra skallen, kan du bruge find(...).forEach(function(x) {}) syntaks.
Som svar på den anden kommentar nedenfor. Skift feltet bad fra et tal til en streng i samlingen foo .
db.foo.find( { 'bad' : { $type : 1 } } ).forEach( function (x) {
x.bad = new String(x.bad); // convert field to string
db.foo.save(x);
});