Casbahのラッパー作ってみた
ScalaでMongoDBとやり取りするには。
いろいろある。
Rogueがいい感じだったので、それを使おうかと思ったのだが
Liftに依存してたので、やめた。
で、オレオレドライバ作った。
ドライバというよりは、公式ドライバ「Casbah」のラッパー、といった方が正しいが。
implicit val db = MongoClient(...)("dbの名前")
// insert
Book.insert( Book(author="FooBar", title="HogeFuga", price=1200) )
// find
val books: Seq[Book] = Book.where(_.author == "foo" && _.price >= 2000).find
// update
Book.where(_.title == "hoge").set(price := 1000).update
// remove
Book.where(_.price <= 1000).remove
Casbahを直接使うよりは、便利に書けると思う。
とくにANDとかORとか使う場合は。
githubで公開してます。
これ作るために、いろいろ調べていて思ったのだが、
MongoDB使うならScalaよりGroovyの方が便利だと思う。