2014-08-26 mongodb
MongoDBで、データがなければ insert、あれば update っつうのは、upsert を使えばいいんだけど、upsert の際に(ここの値は上書きしてほしくないなあ...)って場合は $setOnInsert を使うと簡単に実現できる。
PHP 大好きだから PHP MongoDB 拡張使って書いてみる。
初回 upsert 時は $set
及び $setOnInsert
のどちらも insert されるけど、2回目 upsert 時は $set
だけが上書きされる。ディフォルト値を入れておいたりログイン時間だけ更新するときみたいな処理に便利かも。