Piszę aplikację play2.1 z mongodb, a mój obiekt modelu jest nieco obszerny. przy aktualizacji wpisu w DB, muszę porównać obiekt temp przychodzący z formularza z tym, co jest w DB, więc mogę zbudować zapytanie aktualizacji (i zapisać zmiany).iteracja nad członkami danych klasy case
Szukam sposobu, aby ogólnie wziąć 2 wystąpienia i uzyskać różnicę z nich. Iterowanie nad każdym elementem danych jest długie, zakodowane i podatne na błędy (jeśli a.firstName.equalsIgnoreCase (b.firstName)), więc szukam sposobu na iterację wszystkich elementów danych i porównanie ich w poziomie (mapa nazwy - > wartość zostanie wykonana lub lista, której mogę zaufać, aby wyliczyć elementy danych w tej samej kolejności za każdym razem).
jakieś pomysły? poniżej
case class Customer(
id: Option[BSONObjectID] = Some(BSONObjectID.generate),
firstName: String,
middleName: String,
lastName: String,
address: List[Address],
phoneNumbers: List[PhoneNumber],
email: String,
creationTime: Option[DateTime] = Some(DateTime.now()),
lastUpdateTime: Option[DateTime] = Some(DateTime.now())
)
wszystkie trzy rozwiązania są świetne, ale nadal nie mogę dostać nazwę dziedzinie, prawda? To znaczy, że można rejestrować zmiany, ale nie wpływa to, co pole ...
Czy możesz zamieścić kilka fragmentów kodu? Twoje klasy przypadków, przykłady przypadków i wynik, który chcesz osiągnąć? –