На момент написания mongoDB не подходит для перечисления scala, я использую метод декоратора как обходной путь.
Скажем, у вас есть это перечисление:
object EmployeeType extends Enumeration {
type EmployeeType = Value
val Manager, Worker = Value
}
и запись mongodb:
import EmployeeType._
case class Employee(
id: ObjectId = new ObjectId
)
В вашей mongoDB храните целочисленный индекс перечисления вместо самого перечисления:
case class Employee(
id: ObjectId = new ObjectId,
employeeTypeIndex: Integer = 0
){
def employeeType = EmployeeType(employeeTypeIndex); /* getter */
def employeeType_=(v : EmployeeType ) = { employeeTypeIndex= v.id} /* setter */
}
Дополнительные методы реализуют методы получения и установки для перечисления типа сотрудника.