mongodの罠
こんな感じで mongodにマスタデータを投入する約束をしているときに
mongoimport -d my_test_database -c MyTestTable myTestTable.json
こんな感じで既に存在しているidがあるのにそれを修正しないでマスタデータを追加してしまった場合
{ "_id" : "hoge", name:'fuga' }
{ "_id" : "hoge", name:'fugafuga' } // 追加した人はこれが反映されると信じている。何故か次のような結果になりお昼ごはんを食べ損ねる人がでてきたりするので諸卿も気をつけるとよい。
% mongo
MongoDB shell version: 2.0.2
connecting to: test
> show dbs
local (empty)
my_test_database 0.203125GB
...
> use my_test_database
switched to db my_test_database
> show collections
MyTestTable
system.indexes
> db.MyTestTable.find()
{ "_id" : "hoge", "name" : "fuga" }とりあえず2.0.2の話。他のバージョンの事は知らない。