Я изучаю MongoDB и Casbah, написав простое приложение. Застрял, когда я пытаюсь преобразовать объект со списком в объект MongoDB. Вот мой классКак преобразовать объект scala со списком в MongoDBObject через Casbah
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 случая, я намеревался использовать это как «Enum»
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?
Или Casbah - это не путь, и есть другие библиотеки, которые могут помочь мне сохранить это в MongoDB более легко?