MongoDBにサロゲートペアをぶちこむ

MySQLのちょっと古いバージョンだとサロゲートペアをinsertしようとしたとき、サロゲートペア以降の文字が削除された状態でinsertされたりしたのでMongoDBだとどうなるのかなという実験です。
とりあえずサロゲートペアをぶち込んで中身確認。

> db.table01.find()
{ "_id" : ObjectId("4e4bbf0269810336e52481ee"), "num" : 4, "name" : "さろげーと叱ぺあ" }

ちゃんと入っているみたい。すてきね。
大丈夫だとは思いつつ怖いのでdump→restoreでぶっ壊れたりしないかもちょっと確認してみます。


dump実行!

mongodump --port 27020 --db test01 --collection table01
connected to: 127.0.0.1:27020
DATABASE: test01         to     dump/test01
        test01.table01 to dump/test01/table01.bson
                 5 objects

中身空っぽにしてー

> db.table01.remove()

restore!

$ mongorestore --port 27020 --db test01 --collection table01 dump/test01/table01.bson 
connected to: 127.0.0.1:27020
Wed Aug 17 22:18:28 dump/test01/table01.bson
Wed Aug 17 22:18:28      going into namespace [test01.table01]
Wed Aug 17 22:18:28      5 objects found

確認…!

> db.table01.find()
{ "_id" : ObjectId("4e4bbf0269810336e52481ee"), "num" : 4, "name" : "さろげーと叱ぺあ" }


いけてる!抱いて!
とりあえずMongoDBさんはサロゲートペアぶちこんでも大丈夫そう。
全部試さないとだめか。だめなのか。ひまなときに…やる…!

スポンサーリンク