JJUG CCCのときに@Jxck_さんとかと話をしていて、スキーマレスなmongodbを使うのにMongooseではきっちりSchemaを決めるようになってしまって、それってどうなの? 使う必要あるの? みたいに思えてきたので、試しにlivecoderでMongoose使っていたのを使わなくしてみた。
https://github.com/sugyan/live-coder/commit/5466bd51fd12ae966ca8ad61b68bcf1481597588
一度使って動かしてたものから変更するのは若干苦労した… そこらへんに依存しないようにテストとかも書けていればよかったのだろうけど。
まぁそもそも現時点ではほとんど使っていないので何とも言い難いけど、とりあえずわざわざMongooseを使わなくてもnode-mongodb-nativeだけでもある程度までは書けそうかな? という印象。
実際アプリに組み込むにあたっては
- Mongoose使ってたときはconnectionの管理とか考えないでやってたけどそのへんも考えないと
- index貼るのもコードに組み込みたいけどどのタイミングでやればいいんだろう
- validationやhookをしたいときはやっぱり何かしらのラッパーがあると嬉しいのかも?
とかを思った。
もう少し運用と開発していくとまた何か見えてくるかも知れない。