我學習的MongoDB和卡斯巴通過編寫一個簡單的應用程序轉換與列表到MongoDBObject。當我嘗試將列表成員轉換爲MongoDB對象時遇到困難。這裏是我的類如何Scala的對象通過卡斯巴
case class BorrowerRecord(name: String, checkedOut: List[BookTag]) {
require(!name.isEmpty)
require(!checkedOut.isEmpty)
}
case class BookTag (subject: Subject, bookName: String) {
require(!bookName.isEmpty)
}
case class Subject (name: String, category: Category) {
require(!name.isEmpty)
}
分類與2例類實現密封的特點,我打算用這個像「枚舉」
sealed trait Category {
def name: String
}
object Category {
case object Computing extends Category { val name = "Computing"}
case object Math extends Category { val name = "Math"}
}
所以,BorrowerRecord的情況下將保持什麼書的人從圖書館中檢出,每本圖書都由BookTag對象標識。一個BookTag保持約一本書像BOOKNAME,主題名稱,類別等一些信息
比方說,我有一個BorrowerRecord並希望將其保存到MongoDB的
val borrowOnToday = BorrowerRecord("My Name", List(BookTag(Subject("J2EE", Category.Computing), "Head First Java"),
BookTag(Subject("Linear Algebra", Category.Math), "Algebra for Dummies")))
我應該如何將它轉換爲MongoDBObject使用Casbah?
或者卡斯巴是不是要走的路還有很其他庫,可以幫助我更容易地持續到MongoDB的呢?