Scala で MongoDB を使ってみた。

MongoDB とは

おググりくださいませ。

install

ubuntu なのでここから
Install MongoDB — MongoDB Manual

/etc/apt/sources.list.d に以下の内容のファイルを mongo.list とでもして追加。

deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen

その後

$ apt-get update
$ apt-get install mongodb-stable

で終了。簡単。

Scala で使う

Casbah というライブラリを使ってみた。

GitHub - novus/casbah: Officially supported Scala Driver for MongoDB

Tutorial のページから Scala 2.8 用の jar にリンクがあったのでそれを使う。

http://novus.github.com/docs/casbah/sphinx/html/intro/getting_started.html

こいつは mongo-java-driver に対する wrapper らしいのでそれも必要。

Downloads · mongodb/mongo-java-driver · GitHub

mongodb-java-driver 2.1 を使ったらだめだった。 2.0 なら大丈夫っぽい。

とりあえずライブラリ群は scala-2.8.0.final/lib に突っ込んでおいた。

必要なもの達

configgy はこっち? GitHub - ijuma/configgy at scala-2.8

RC3 とかなっているけどとりあえず使えた。

試してみる

import com.novus.casbah.mongodb

val con = mongodb.MongoConnection() // localhost に接続

val db = con("test")

val col = db("items")

val item = mongodb.MongoDBObject("name"->"testtest", "age"->23)

col += item

println(col.find().toList)
//=> List({ "_id" : { "$oid" : "4c96e766aaed917f82fdb74c"} , "name" : "testtest" , "age" : 23})

できた!

検索は後ほど。