Как написать MongoDBObject и case-класс для группы по

Я новичок в монго, скале и салате

У меня есть коллекция JSON как

{[
    {"firstName":"John", "lastName":"Doe", department="IT", skills="java"},
    {"firstName":"Anna", "lastName":"Smith", department="accounts, skills="tally"},
    {"firstName":"Peter", "lastName":"Jones", department="It" skills="java" }
]}

Я определил класс случая как ниже

case class Employee(firstName:String,lastName:String,department:String,skills:String)

используется Salatdao, как показано ниже

object EmployeeDao extends SalatDAO[Employees, ObjectId](collection =employee_collection)

и метод, чтобы получить сотрудников, как это

  def getEmployees(IT : String):List[Employees]={

    val listOfEmployees:List[Employees] = OrderDAO3.find(MongoDBObject({"department"->IT})).toList

    return listOfEmployees
  }

получить результат, как это...

{[{"firstName": "Джон", "lastName":"Доу", отдел ="IT", навыки ="java"}, {"firstName":"Питер", "lastName":"Джонс", отдел = "IT" навыки = "Ява" } ]}

пока все хорошо,... Теперь я хочу группировать по всем отделам и хочу, чтобы результат, как это

  {"IT":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
  ]
  {"accounts":[
    {"firstName":"Johnac", "lastName":"Doeac"},
    {"firstName":"Annaac", "lastName":"Smithac"},
    {"firstName":"Peterac", "lastName":"Jonesac"}
 ]}
 }

поэтому, пожалуйста, подскажите, как мне написать MongoDBObject, чтобы получить этот результат, а также предложить мне соответствующий класс case для хранения этой коллекции.

1 ответ

Другие вопросы по тегам