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さんはサロゲートペアぶちこんでも大丈夫そう。
全部試さないとだめか。だめなのか。ひまなときに…やる…!