Convert mongo values from one encoding to another

June 1, 2017 173 views
MongoDB Ubuntu

I put 250_000 records to mongodb with java driving force, however forgot to set encoding explicitly, so after linux on my windows gadget system encoding modified to cp1251 and i've many records with values like Внедорожник 5 дв

i've a solution - just to go throw all gadgets, find and modify all string fields:

...
mc2.findOneAndUpdate(
new Document("canonical", canonical),
new Document("$set",
new Document("regionName",
new String(doc.getString("regionName").getBytes("cp1251"), "UTF-8"))));
...
Is there a way to do that without external program? (with some mongo js functions, utilities etc.)

1 Answer

Hi @soujanyanaguri23
I would give you the same answer as someone gave you here:
https://stackoverflow.com/questions/44277981/convert-mongo-values-from-one-encoding-to-another
No, it might be possible, but javascript doesn't really understand codepages like most other advanced languages, so you'll need a lot of frameworks for that to work - and you'll have to use the eval function to run it directly in Mongo, which I wouldn't recommend.

Have another answer? Share your knowledge.