私は3つのオブジェクトを持っています
case class Metric(val name: String, val tags: Map[String, String])
case class Threshold(val metric: Metric, val critical: Long, val warning: Long)
class Profile(val name: String, val thresholds: List[Threshold])
Mongo DB には Profile オブジェクトのみを格納する予定ですが、Scala アプリではそれらを型で表す必要があります。
同じためにサブセットを使用しており、次の性質を定義しています
implicit val reader = ValueReader[Threshold]({
case metric(metric) ~ critical(critical) ~ warning(warning) =>
new Threshold(metric, critical, warning)
})
implicit val writer = {
def f(threshold: Threshold): DBObject =
(metric -> threshold.metric) ~ (critical -> threshold.critical) ~ (warning -> threshold.warning)
ValueWriter(f _)
}
Mongo Now との間でクエリを実行するにはどうすればよいですか? このあたりの例はありますか?